假設讀者已熟悉匿名方法。若不清楚,請先參閱「C# 2.0 入門」系列(後續將翻譯)。
(不嚴謹但直觀)Lambda 表達式是讓匿名方法在文字上更短的語法。但「規模變化導致質變」:燒杯實驗現象不一定在工廠重現,代碼簡潔度質變會改變架構決策。
public delegate bool SimpleMenuAction();
public class MenuItemA
{
public readonly string Name;
public readonly SimpleMenuAction Action;
public MenuItemA(string name, SimpleMenuAction action)
{ Name = name; Action = action; }
}
private static MenuItemA[] MenuItems1 =
{
new MenuItemA("選項1", 執行方法),
new MenuItemA("選項2", 執行方法),
new MenuItemA("選項3", 執行方法)
};
後續章節將逐步演進至匿名方法、Lambda 表達式,體驗代碼簡潔度如何質變架構靈活性。