นิพจน์แลมบ์ดาเป็นวิธีที่ดีกว่าในการแสดงวิธีการที่ไม่ระบุตัวตน ทั้งเมธอดที่ไม่ระบุชื่อและนิพจน์แลมบ์ดาช่วยให้คุณกำหนดการใช้งานเมธอดแบบอินไลน์ได้ อย่างไรก็ตาม เมธอดนิรนามกำหนดให้คุณต้องกำหนดประเภทพารามิเตอร์และประเภทส่งคืนสำหรับเมธอดอย่างชัดแจ้ง
แลมบ์ดานิพจน์ที่มีนิพจน์เป็น body:(input−parameters) => expression
คำสั่งแลมบ์ดาที่มีบล็อกคำสั่งเป็นเนื้อหา:(input−parameters) => {
นิพจน์แลมบ์ดาใดๆ สามารถแปลงเป็นประเภทผู้รับมอบสิทธิ์ได้ ประเภทผู้รับมอบสิทธิ์ซึ่งนิพจน์แลมบ์ดาสามารถแปลงได้ถูกกำหนดโดยประเภทของพารามิเตอร์และค่าตอบแทน หากนิพจน์แลมบ์ดาไม่คืนค่า ก็สามารถแปลงเป็นประเภทผู้รับมอบสิทธิ์การดำเนินการได้ มิฉะนั้น สามารถแปลงเป็นประเภทผู้รับมอบสิทธิ์ Func ได้
static void Main(string[] args){ Func<int, int> square = x => x * x; Console.WriteLine(square(5)); Console.ReadLine(); }
นิพจน์แลมบ์ดาที่มีนิพจน์ทางด้านขวาของตัวดำเนินการ => เรียกว่านิพจน์แลมบ์ดา นิพจน์ lambda ส่งกลับผลลัพธ์ของนิพจน์และใช้รูปแบบพื้นฐานต่อไปนี้
Action line =() => Console.WriteLine();
Func
Func
Func
C # 7.0 ภาษา C # ให้การสนับสนุนสิ่งอันดับในตัว คุณสามารถระบุทูเพิลเป็นอาร์กิวเมนต์ให้กับนิพจน์แลมบ์ดา และนิพจน์แลมบ์ดาของคุณสามารถส่งคืนทูเพิลได้เช่นกัน
ตัวแปรที่นำมาใช้ภายในนิพจน์แลมบ์ดาจะไม่ปรากฏให้เห็นในวิธีการปิดล้อม
นิพจน์แลมบ์ดาไม่สามารถจับพารามิเตอร์เข้า อ้างอิง หรือออกจากวิธีการล้อมรอบได้โดยตรง
คำสั่ง return ในนิพจน์แลมบ์ดาไม่ทำให้วิธีการปิดล้อมส่งคืน
นิพจน์แลมบ์ดาต้องไม่มีคำสั่ง goto, break หรือ continue ถ้าเป้าหมายของคำสั่ง jump นั้นอยู่นอกบล็อคนิพจน์ lambda นอกจากนี้ยังเป็นข้อผิดพลาดที่จะมีคำสั่งกระโดดนอกบล็อกนิพจน์แลมบ์ดาหากเป้าหมายอยู่ภายในบล็อก