C#3.0出来后,带来了一个新的表达式,即Lamada 表达式。个人觉得这不是什么实质的丰富,但它着实加快了编码的效率。
表达式的格式是这样的:
- (input parameters) => expression
左边输入参数,右边为表达式,中间用"=>"相连接。(自己了解Lamada表达式也是从"=>"开始的)常用在委托,LINQ中。下面几种表达方式都是合法的:
- (x, y) => x == y
- (int x, string s) => s.Length > x
- () => SomeMethod()
直接来看例子:
- delegate void TestDelegate(string s);
- …
- TestDelegate myDel = n => { string s = n + " " + "World"; Console.WriteLine(s); };
- myDel("Hello");
相当于:
- delegate void TestDelegate(string s);
- void f(string s)
- {
- s = n + " " + "World";
- Console.WriteLine(s);
- }
- ...
- TestDelegate myDel=new TestDelegate(f);
- myDel("Hello");