设为首页 加入收藏

TOP

C#中的Lambda表达式
2014-11-24 00:08:16 来源: 作者: 【 】 浏览:8
Tags:Lambda 表达式

在看C#中的Lambda表达式之前,先来看一个概念:匿名方法。学过Java的亲们,可能对这个概念比较了解。Java JDK8中也引入了Lambda表达式。

下面看看C#中的匿名函数。下面是一个实例:


namespace ConsoleApplication
{
class AnonymousMethod
{


public static void Main()
{
String name = "周杰伦";
/*
* Func委托接受一个字符串参数,返回一个字符串。sayHello是这种委托类型的变量。
* 可以看到,这里不是把方法名赋予这个变量,而是使用一段简单的代码:
* 它前面是关键字delegate,后面是一个字符串参数,然后是方法的实现,最后以分号结束。
*/
Func sayHello = delegate(String param)
{
String greeting = "你好," + param + "!我们喜欢你的歌!";
return greeting;
};
Console.WriteLine(sayHello(name));
}
}
}


运行结果如下:


C#中的Lambda表达式


从C#3.0开始,可以使用Lambda表达式替代匿名方法。


下面我们看看上面的例子,改写成Lambda表达式版本的是什么模样:


namespace ConsoleApplication
{
class LambdaExpression
{
public static void Main()
{
String name = "周杰伦";
/*
* Func委托接受一个字符串参数,返回一个字符串。sayHello是这种委托类型的变量。
* Lambda运算符“=>”的左边列出了需要的参数。
* Lambda运算符的右边定义了赋予Lambda变量的方法的实现代码。
* 怎么样?是不是很简单!
*/
Func sayHello = param =>
{
String greeting = "你好," + param + "!我们喜欢你的歌!";
return greeting;
};
Console.WriteLine(sayHello(name));
}
}
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java Swing中的透明窗体(Windows.. 下一篇C#多播委托(Multicast Delegate)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: