WEB开发网
开发学院软件开发C语言 [C# 3.0 入门] [第一章 Lambda表达式] 第二节:La... 阅读

[C# 3.0 入门] [第一章 Lambda表达式] 第二节:Lambda表达式带来了什么

 2010-09-30 20:59:53 来源:WEB开发网   
核心提示:本次的内容,主要是针对已经学习过C# 2.0的程序员读者的,[C# 3.0 入门] [第一章 Lambda表达式] 第二节:Lambda表达式带来了什么,前提是已经知道什么是匿名方法,如果还不清楚,能够选择的下拉菜单,菜单项是下面这样定义的:1public delegate bool SimpleMenuAction(

本次的内容,主要是针对已经学习过C# 2.0的程序员读者的,前提是已经知道什么是匿名方法。如果还不清楚,请先阅读“连载:C# 2.0入门”(这篇会在今后翻译)。

好的,现在进入正题。

Lambda表达式(λ表达式),用一句话来解释,(不算很严谨)就是使匿名方法文字上更短的语法。虽然这样说,单“仅仅是文字上的变化,源代码的性质没有变”这样的想法也是一种误解。规模变化了,其性质也会变化。例如,实验室的烧杯中产生的现象,不一定会在大型的工厂里产生。同样的道理也适用于源代码。

那么,就体验一下Lambda表达式吧。

以下,使用具体的code来说明一下,不是实际工程中的代码,而是实际代码使用C# 2.0重写的。

前一阵子笔者实际写的code中,有一个菜单,能够选择的下拉菜单。菜单项是下面这样定义的:

 1public delegate bool SimpleMenuAction();
 2
 3public class  MenuItemA // 菜单项
 4{
 5  public readonly string Name; // 名字
 6  public readonly SimpleMenuAction Action; //执行内容
 7
 8  public MenuItemA(string name, SimpleMenuAction action)
 9  {
10    Name = name;
11    Action = action;
12  }
13}
14

List 1 菜单项的定义

与之相对应,以下是菜单项的数组。

1private static MenuItemA[] Menu Items1 =
2  {
3    new MenuItemA("选择项1", 执行方法),
4    new MenuItemA("选择项2", 执行方法),
5    new MenuItemA("选择项3", 执行方法),
6  };
7

1 2 3 4  下一页

Tags:入门 第一章 Lambda

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