初探C#3.0
2009-07-01 07:07:36 来源:WEB开发网C#3.0已经推出好一段时间了,由于种种原因,一直没有去学习,这两天在园子中看到老赵的拯救C# 2.0,但是我们真做的到吗?。里面提到了些C#3.0的新特性和优势。勾起了我对3.0的兴趣,初探学习一下,分享给新手。
在C#2.0中,微软给我们带来了一些新的特性,例如泛型,匿名委托等。然而,这些新的特性多多少少会给人一种从别的语言中“抄”来的感觉(例如泛型类似C++的模板,一些特性类似Java中的一些东西)。但是在C#3.0中,微软给我带来的一些新特性可能是以前所有开发语言都没有的特性。这无疑大大的体现了C#3.0在开发语言中强大的优势。
Lambda表达式
Lambda 表达式是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。所有 Lambda 表达式都使用 Lambda 运算符 =>。关于Lambda更详细的讲解大家可以参看 MSDN。里面说的很清楚。
这里简单举个例子来说明Lambda的好处。Lambda在对匿名委托的处理上提供了更清楚的实施方式。例如在2.0中。我们可以写这样的代码:
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
Func<string, string> convert = delegate(string s)
{ return s.ToUpper(); };
string name = "Dakota";
outputBlock.Text += convert(name) + "\n";
}
}
在 C# 中将 Func<(Of <(T, TResult>)>) 委托与匿名方法一起使用。
在3.0中,我们可以使用Lambda来更清楚的进行参数的传递:
更多精彩
赞助商链接