程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> [C# 3.0 入門] [第一章 Lambda表達式] 第二節:Lambda表達式帶來了什麼(1)

[C# 3.0 入門] [第一章 Lambda表達式] 第二節:Lambda表達式帶來了什麼(1)

編輯:關於C語言

本次的內容,主要是針對已經學習過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. 下一頁:
Copyright © 程式師世界 All Rights Reserved