(1) C# language feature that you need to know

来源:互联网 发布:java clone方法 编辑:程序博客网 时间:2024/06/05 18:38

(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... )

原创粉丝点击