WEB开发网
开发学院软件开发C语言 初探C#3.0 阅读

初探C#3.0

 2009-07-01 07:07:36 来源:WEB开发网   
核心提示:C#3.0已经推出好一段时间了,由于种种原因,初探C#3.0,一直没有去学习,这两天在园子中看到老赵的拯救C# 2.0,例如在2.0中,我们可以写这样的代码:public class Example{ public static void Demo(System.Windows.Controls.TextBlock o

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来更清楚的进行参数的传递:

1 2 3 4  下一页

Tags:初探

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接