
LINQ & Delegates
ไวยากรณ์การ query LINQ, ไวยากรณ์ method, delegate, event, lambda expression, func/action
1delegate ใน C# คืออะไร?
delegate ใน C# คืออะไร?
คำตอบ
delegate คือ type ที่แทนการอ้างอิงไปยัง method ที่มี signature เฉพาะเจาะจง มันช่วยให้สามารถส่ง method เป็นพารามิเตอร์ เก็บไว้ในตัวแปร และเรียกใช้แบบไดนามิกได้ delegate เป็นรากฐานของ event และ callback ใน C# โดยมอบความยืดหยุ่นที่จำเป็นสำหรับการเขียนโปรแกรมแบบ event-driven และดีไซน์แพทเทิร์นอย่าง Strategy หรือ Observer
2ไวยากรณ์ที่ถูกต้องสำหรับการประกาศ lambda expression แบบง่ายคืออะไร?
ไวยากรณ์ที่ถูกต้องสำหรับการประกาศ lambda expression แบบง่ายคืออะไร?
คำตอบ
ไวยากรณ์ (x) => x * 2 เป็นรูปแบบที่ถูกต้องสำหรับ lambda expression สัญลักษณ์ => (เรียกว่า "lambda operator") แยกพารามิเตอร์ออกจาก expression หรือ body ของ method ไวยากรณ์ที่กระชับนี้ช่วยให้สร้างฟังก์ชันนิรนามแบบ inline ได้ ซึ่งมีประโยชน์มากกับ LINQ หรือสำหรับการส่งพฤติกรรมเป็นพารามิเตอร์ สามารถละวงเล็บรอบพารามิเตอร์ได้หากมีเพียงตัวเดียว
3ควรใช้ generic delegate ตัวใดสำหรับ method ที่รับ int และคืนค่า string?
ควรใช้ generic delegate ตัวใดสำหรับ method ที่รับ int และคืนค่า string?
คำตอบ
Func<int, string> เป็น generic delegate ที่เหมาะสม เพราะ Func ใช้สำหรับ method ที่คืนค่า ตามข้อตกลงคือ type parameter ตัวสุดท้ายแทนชนิดของค่าที่คืน และตัวก่อนหน้าแทนพารามิเตอร์อินพุต Func รับพารามิเตอร์อินพุตได้สูงสุด 16 ตัว สำหรับ method ที่ไม่คืนค่า ควรใช้ Action แทน Func
ความแตกต่างหลักระหว่าง Func และ Action คืออะไร?
LINQ ย่อมาจากอะไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ .NET อื่นๆ
พื้นฐาน C#
พื้นฐานสำคัญของภาษา C#
พื้นฐาน ASP.NET Core
วงจรชีวิตของ request ใน ASP.NET Core
Configuration & Settings
วงจรชีวิตของแอปพลิเคชัน
Dependency Injection
Entity Framework Core
Minimal APIs
การพัฒนา Web API
Async ใน ASP.NET Core
Authentication & Authorization
HttpClient & Networking
การซีเรียลไลซ์ JSON
Entity Framework Core ขั้นสูง
ฟีเจอร์ขั้นสูงของ C#
Clean Architecture
Logging, Monitoring & Observability
Unit Testing และ xUnit
การทดสอบแบบบูรณาการ
Docker & Containerization
การจัดการแพ็กเกจ NuGet
Memory Management & GC
การเขียนโปรแกรมแบบรีแอกทีฟ
Async/await และรูปแบบ
.NET Design Patterns
การเพิ่มประสิทธิภาพการทำงาน
ความปลอดภัยและ Best Practices
SignalR และเรียลไทม์
สถาปัตยกรรม Microservices
เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี