反編譯發現兩者生成相同委派結構。Lambda 輸入參數對應 delegate 參數,編譯器推斷型別故可省略宣告。
// 運算式主體 (隱含返回)
x => x + 1
// 陳述式主體 (需大括號、明確 return)
x => { return x + 1; }
// 帶型別參數
(int x) => x + 1
// 多參數
(x, y) => x + y
// 無參
() => 1
Lambda 可編譯為 Expression<TDelegate>,構建表達式樹,為 LINQ 提供者 (如 LINQ to SQL) 解析轉譯 SQL 的基礎。此處不深入展開。
C# 透過 delegate (2.0) → Lambda (3.0) 實現函數式風格:方法作參數、層層嵌套、類型推斷。