Expert Functional Programming and LINQ via C# by Dixin

Expert Functional Programming and LINQ via C# by Dixin

Сумата се прибавя директно в кошницата

32.06 €

Количество
Бърза поръчка



Платформата не носи отговорност за авторските права и съдържанието на споделените в нея учебни материали. Ако споделен учебен материал нарушава Вашите авторски права се свържете с нас.

Table of Contents
All code examples are available on GitHub: https://github.com/Dixin/CodeSnippets.
 
1. Functional programming and LINQ paradigm
 
1. Getting started with .NET/Core, C# and LINQ
 
■ Cross platform .NET, C# and LINQ
 
■ .NET Framework
 
■ Parallel LINQ
 
■ .NET Core, UWP, Mono, Xamarin and Unity
 
■ .NET Standard
 
■ C# functional programming
 
■ This tutorial
 
■ Author

 

■ Code examples
 
■ Start coding
 
■ Start coding with Visual Studio (Windows)
 
■ Start coding with Visual Studio Code (Windows, macOS and Linux)
 
■ Start coding with Visual Studio for Mac (macOS)
 
2. Programming paradigms and functional programming
 
■ Programming paradigms
 
■ Imperative programming vs. declarative programming
 
■ Object-oriented programming vs. functional programming
 
3. LINQ Overview
 
■ One language for different data domains
 
■ LINQ to Objects
 
■ Parallel LINQ
 
■ LINQ to XML
 
■ LINQ to DataSets
 
■ LINQ to Entities
 
■ LINQ to SQL
 
■ LINQ to NoSQL (LINQ to CosmosDB)
 
■ LINQ to JSON
 
■ LINQ to Twitter
 
■ Productivity
 
■ Local query vs. remote query
2. Functional programming in-depth
 
1. C# language fundamentals
 
■ Types and members
 
■ Built-in types
 
■ Reference type vs. value type
 
■ default literal expression

 

■ ref structure
 
■ Static class
 
■ Partial type
 
■ Interface and implementation
 
■ IDisposable interface and using statement
 
■ Generic type
 
■ Type parameter
 
■ Type parameter constraints
 
■ Nullable value type
 
■ Auto property
 
■ Property initializer
 
■ Object initializer
 
■ Collection initializer
 
■ Index initializer
 
■ Null coalescing operator
 
■ Null conditional operator
 
■ throw expression
 
■ Exception filter
 
■ String interpolation
 
■ nameof operator
 
■ Digit separator and leading underscore
 
2. Named Function and function polymorphism
 
■ Constructor, static constructor and finalizer
 
■ Static method and instance method
 
■ Extension method
 
■ More named functions
 
■ Function polymorphisms
 
■ Ad hoc polymorphism: method overload
 
■ Parametric polymorphism: generic method
 
■ Type argument inference
 
■ Static import
 
■ Partial method
 
3. Local function and closure
 
■ Local function
 
■ Closure

 

■ Outer variable
 
■ Implicit reference
 
4. Function input and output
 
■ Pass by value vs. pass by reference (ref parameter)
 
■ Pass by read only reference (in parameter)
 
■ Output parameter (out parameter) and out variable
 
■ Parameter array
 
■ Positional argument vs. named argument
 
■ Required parameter vs. optional parameter
 
■ Caller information parameter
 
■ Return by value vs. return by reference
 
■ Return by read only reference
 
5. Delegate: function type, instance, and group
 
■ Delegate type as function type
 
■ Function type
 
■ Generic delegate type
 
■ Unified built-in delegate types
 
■ Delegate instance as function instance
 
■ Delegate class and delegate instance
 
■ Delegate instance as function group
 
■ Event and event handler
 
6. Anonymous function and lambda expression
 
■ Anonymous method
 
■ Lambda expression
 
■ Call anonymous function
 
■ Closure
 
■ Expression bodied function member
 
7. Expression tree: Function as data
 
■ Lambda expression as expression tree

 

■ Code as data
 
■ .NET expressions
 
■ Compile expression tree at runtime
 
■ Traverse expression tree
 
■ Expression tree to CIL at runtime
 
■ Expression tree to executable function at runtime
 
■ Expression tree and LINQ remote query
 
8. Higher-order function, currying and first class function
 
■ First order and higher-order function
 
■ Curry function
 
■ => associativity
 
■ Partial apply function
 
■ Uncurry function
 
■ First-class function
 
9. Function composition and chaining
 
■ Forward and backward composition
 
■ Forward pipe
 
■ Fluent chaining
 
■ Fluent extension methods
 
■ LINQ query method composition
 
10. LINQ query Expression
 
■ Syntax and compilation
 
■ Query expression pattern
 
■ LINQ query expression
 
■ Query expression vs. query method
 
11. Covariance and contravariance
 
■ Non-generic function type
 
■ Generic function type
 
■ Generic interface

 

■ Generic higher-order function type
 
■ Array
 
■ Variances in .NET and LINQ
 
12. Immutability, anonymous type and tuple
 
■ Immutable value
 
■ Constant
 
■ using statement and foreach statement
 
■ this reference for class
 
■ Function's readonly parameter and readonly return
 
■ Local variable by readonly reference (ref readonly variable)
 
■ Immutable value in LINQ query expression
 
■ Immutable state (immutable data type)
 
■ Type with constant field
 
■ Immutable class with readonly instance field
 
■ Immutable structure (readonly structure)
 
■ Immutable anonymous type
 
■ Immutable tuple vs. mutable tuple
 
■ Construction and element name
 
■ Deconstruction
 
■ Tuple assignment
 
■ Immutable collection vs. readonly collection
 
13. Pure function
 
■ Referential transparency and side effect free
 
■ PureAttribute and code contracts
 
■ Purity in .NET
 
14. Asynchronous function
 
■ Task, Task<TResult> and asynchrony
 
■ Named async function
 
■ Awaitable-awaiter pattern
 
■ Async state machine
 
■ Generalized async return type and async method builder
 
■ ValueTask<TResult> and performance
 
■ Runtime context capture

Свързани продукти

12.24 €

ITIL Service Transition

0.00 €