本次的內容,主要是針對已經學習過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