Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

Lambda Expressions ใน C# คืออะไร

Lambda Expression คือ ฟังก์ชันแบบไม่มีชื่อ (Anonymous Function) ใช้ Token => (อ่านว่า "goes to") แยกพารามิเตอร์และ Body

Syntax

(parameters) => expression
(parameters) => { statements; }

ตัวอย่าง: หา Index ของเลขคู่แรก

using System;
using System.Collections.Generic;

class Demo
{
    static void Main()
    {
        List<int> list = new List<int>() { 21, 17, 40, 11, 9 };
        
        // Lambda: x => x % 2 == 0
        int index = list.FindIndex(x => x % 2 == 0);
        
        Console.WriteLine("Index: " + index); // 2 (คือ 40)
    }
}

ผลลัพธ์

Index: 2

รูปแบบ Lambda ทั่วไป

รูปแบบตัวอย่าง
ไม่มีพารามิเตอร์() => Console.WriteLine("Hi")
1 พารามิเตอร์x => x * 2
หลายพารามิเตอร์(x, y) => x + y
Statement Bodyx => { var t = x*2; return t; }

การใช้งานทั่วไป

  • LINQ: Where(x => x > 5), Select(x => x.Name)
  • Event Handler: btn.Click += (s, e) => { }
  • Thread/Task: Task.Run(() => DoWork())