7print.bg = 1 принтиране + 2 плотиране + 3 подвързване + 4 чаши + 5 тениски + 6 книгоиздаване + 7 рекламни м-ли 088 682 47 47
Expert Functional Programming and LINQ via C# by Dixin

Expert Functional Programming and LINQ via C# by Dixin

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

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


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 DataSets
LINQ to Entities
LINQ to NoSQL (LINQ to CosmosDB)
LINQ to Twitter
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


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
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
Variances in .NET and LINQ
12. Immutability, anonymous type and tuple
Immutable value
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
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