(1) Lambda Expression
(param1, param2, param3, ...) =>
{
statement1;
statement2;
statement3;
...
return(lambda_expression_return_type);
}
One simple demo:
a) x => x
b) This means input x, output x
One a little more complex demo:
Note: delegate defines the input type and the return type, so please make sure your lambda expression meets your definition of delegate.
Another Demo:
Below code is a simple lambda call for above code:
(2) Expression Tree
a) Definition
It's a very useful and valuable expression of data, it's a lambda exression that displaying the query operator by using the methodology of tree.
b) Simple Demo
(3) Keyword "var", "object initialization" and "anonymous type"
a) They are all strongly connected. This means that we can hardly understand the "var" keyword without introducing the concept of "Object Initialization" and "Anonymous Type".
b) Simple Demo:
c) "var" keyword: it can conclude the data type by determining the initialized data type.
d) Failed by only using the declaration:
Error Message:
Error 1 Implicitly-typed local variables must be initialized C:/Users/Lucas/documents/visual studio 2010/Projects/LinqToObjectViaCSharp/LinqToObjectViaCSharp/Program.cs 36 17 LinqToObjectViaCSharp
Explaination:
The implicityly-typed local variables are all used static detection during complie period, so that the initialization program is needed to use. Otherwise it cannot conclude the type of this data type.
Another Error is coming by using below code:
e) Initialization expression of Object and Agregator
By typing a space to invoke the intellisense.
(f) Agregator Initialization:
g) Extension Method
Definition: It's a static method that used in a static class.
( Continue tomorrow... )