1、c#中(=>)是Lambda表达式。英文读“goes to”。
2、“=>” 标记称作 lambda 运算符。该标记在 lambda 表达式中用来将左侧的输入变量与右侧的 lambda 体分离。
3、Lambda 表达式是与匿名方法类似的内联表达式,但更加灵活;
5、在以方法语法表示的 LINQ 查询中广泛使用了 Lambda 表达式。
6、Linq中有,lambda表达式,相当于委托;比如:
7、Test t=delegate(string s{Console.WriteLine(s);}相当于Test t=x => {Console.WriteLine(x);}。
扩展资料:
c#设计目标
1、C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现;
2、应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集。
3、软件必须做到强大、持久,并具有较强的编程生产力。
4、此种语言为在分布式环境中的开发提供适用的组件开发应用。
5、为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。
6、C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。
参考资料来源:百度百科:c#
Lambda表达式是C#3.0的新内容,如果您之前学习的C#2.0,不认识也就不奇怪了。
给您举个例子。
例如,我定义一个委托:
delegate int Method(int a, int b);
再定义一个方法:
int Add(int a, int b)
{
return a + b;
}
我可能需要这样通过委托调用方法:
Method m += Add;
Console.WriteLine(m(2, 3));
====================================================
但如果用 Lambda 表达式:
Method m += (a ,b) => a + b;
Console.WriteLine(m(2, 3));
可以省去方法的定义。
实际上, Lambda 表达式只是简化了匿名方法的语法而已。
附 C# 2.0 的匿名方法语法:
Method m += delegate(int a, int b) { return a + b; };
Console.WriteLine(m(2, 3));
你就把+=后面的东西看成一个代理好了。
代理做的事情就是把cource里面的item日期拿出来做了一个过滤,然后按照StartTime做了一个升序排序
语法:
(Tx)=>y