Local Function
ภัทชรัตน์ ดวงตา 650710575
Local Function ถูกนำเข้ามาใช้ใน C# 7.0 คือ Function ที่ถูกสร้างอยู่ใน Function หลัก เพื่อใช้ทำงานเฉพาะตัวของ Local Function นั้นๆ โดยจะช่วยให้โค้ดมีความเป็นระเบียบและอ่านง่าย
Local Function สามารถประกาศและเรียกใช้ได้จากเมธอด, คอนสตรัคเตอร์, Property accessors, Event accessors, Anonymous methods, Lambda expressions, Finalizers และ Local Function อื่นๆ
ไม่สามารถประกาศ Local Function ใน expression-bodied member ได้
Local Function สามารถเข้าถึงตัวแปรและพารามิเตอร์ของ Function หลักได้
Modifiers ที่สามารถใช้กับ Local Function คือ async, unsafe, static และ extern
ไม่สามารถใช้ private กับ Local Function ได้เพราะตัว Local Function เป็น private อยู่แล้ว และไม่สามารถทำให้เป็น public ได้
ไม่สามารถใช้การ Overloading กับ Local Function ได้
มี Local Function หลายตัวได้
ไม่สามารถใช้ Attribute กับ Local Function รวมทั้งพารามิเตอร์และประเภทพารามิเตอร์ของมัน
C# Local Function Syntax
Example
Output
เปรียบเทียบกับภาษา Java/C/Python
Java
ในภาษา Java จะไม่มี Local Function โดยตรงแต่จะสามารถทำเลียนแบบ Local Function ได้โดยใช้ inner classes, anonymous classes และ lambda expressions ในตัวอย่างที่นำมาเสนอจะเป็นการใช้ lambda expressions เพื่อหาค่าแฟกทอเรียล
C
ในภาษา C ก็ไม่มี Local Function เช่นเดียวกับภาษา Java แต่ก็สามารถใช้วิธีอื่นเพื่อมาทดแทน Local Function ได้ คือ static function, การใช้ Macros และ Function Pointers ตัวอย่างเป็นการใช้ Function Pointers เพื่อเป็นการจำลอง Local Function ส่วนนี่คือส่วนที่เป็น Local Function
Python
ในภาษา Python มี Local Function ให้ใช้งานเหมือนกับ C# แต่จะเป็น Function คืนค่า dictionary ที่มีข้อมูลชื่อและค่าของตัวแปรที่อยู่ในขอบเขตของ Function หลัก โดยมี Syntax คือ
และ Local Function ใน Python ไม่ต้องมีการรับพารามิเตอร์ใดๆ
ในตัวอย่างจะมีการเรียกใช้ locals() เพื่อดึงค่าตัวแปร n ที่ส่งเข้ามาในพารามิเตอร์มาดำเนินการหาแฟกทอเรียลของ 5
VDO & Slide
อ้างอิง
GeeksforGeeks. (n.d.). Local function in C#. GeeksforGeeks. Retrieved October 15, 2024, from https://www.geeksforgeeks.org/local-function-in-c-sharp/
ตัวอย่างและเนื้อหา
Microsoft. (n.d.). Local functions. In C# programming guide. Retrieved October 15, 2024, from https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/local-functions
ตัวอย่างและเนื้อหา
C# Local Function Syntax
Toppr. (n.d.). Python locals. Retrieved October 15, 2024, from https://www.toppr.com/guides/python-guide/references/methods-and-functions/methods/built-in/locals/python-locals/
Local Function ใน Python
Last updated