การเขียนฟังก์ชันหรือซับรูทีนในนิพจน์คำสั่ง Lambda เราไม่ต้องตั้งชื่อให้กับฟังก์ชัน หรือ เมธอด ซึ่งก็เป็นข้อดีอีกอย่างหนึ่ง
สำหรับวิธีการ จะขอยกตัวอย่างเปรียบเทียบระหว่าง การเขียนฟังก์ชัน ธรรมดา กับ การเขียนแบบ lambda
ตัวอย่าง ฟังก์ชันการหา Factorial
Module Module1
Sub Main()
Dim nResult AS Long
nResult = Factorial(5)
Console.WriteLine(nResult) 'ค่าที่ได้คือ 120
End Sub
Function Factorial(ByVal number As Long) As Long
If number <= 1 Then
Return (1)
Else
Return number * Factorial(number - 1)
End If
End Function
End Module
ตัวอย่าง ฟังก์ชันการหา Factorial โดยเขียนแบบนิพจน์คำสั่ง Lambda
Module Module1
Sub Main()
Dim nResult As Func(Of Long, Long) = Function(number As Long)
If number <= 1 Then
Return (1)
Else
Return number * nResult(number - 1)
End If
End Function
Console.WriteLine(nResult.Invoke(5)) 'ค่าที่ได้คือ 120
End Sub
End Module
ไม่มีความคิดเห็น:
แสดงความคิดเห็น