
LINQ & Delegates
Cú pháp truy vấn LINQ, cú pháp method, delegate, event, biểu thức lambda, func/action
1Delegate trong C# là gì?
Delegate trong C# là gì?
Câu trả lời
Delegate là một kiểu đại diện cho các tham chiếu đến method có một chữ ký cụ thể. Nó cho phép truyền method như tham số, lưu trữ chúng trong biến và gọi chúng một cách động. Delegate là nền tảng của event và callback trong C#, mang lại sự linh hoạt thiết yếu cho lập trình hướng sự kiện và các mẫu thiết kế như Strategy hoặc Observer.
2Cú pháp đúng để khai báo một biểu thức lambda đơn giản là gì?
Cú pháp đúng để khai báo một biểu thức lambda đơn giản là gì?
Câu trả lời
Cú pháp (x) => x * 2 là dạng đúng cho một biểu thức lambda. Ký hiệu => (gọi là "lambda operator") tách các tham số khỏi biểu thức hoặc thân method. Cú pháp ngắn gọn này cho phép tạo các hàm ẩn danh inline, rất hữu ích với LINQ hoặc để truyền hành vi như tham số. Có thể bỏ dấu ngoặc quanh tham số nếu chỉ có một tham số.
3Nên dùng generic delegate nào cho một method nhận một int và trả về một string?
Nên dùng generic delegate nào cho một method nhận một int và trả về một string?
Câu trả lời
Func<int, string> là generic delegate phù hợp vì Func được dùng cho các method trả về một giá trị. Quy ước là tham số kiểu cuối cùng đại diện cho kiểu trả về, còn các tham số trước đó đại diện cho các tham số đầu vào. Func có thể nhận tối đa 16 tham số đầu vào. Đối với các method không có giá trị trả về, nên dùng Action thay vì Func.
Sự khác biệt chính giữa Func và Action là gì?
LINQ là viết tắt của cụm từ nào?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn .NET khác
Cơ bản về C#
Kiến thức cốt lõi ngôn ngữ C#
Kiến thức cơ bản về ASP.NET Core
Vòng đời request trong ASP.NET Core
Configuration & Settings
Vòng đời ứng dụng
Dependency Injection
Entity Framework Core
Minimal APIs
Phát triển Web API
Async trong ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Tuần tự hóa JSON
Entity Framework Core nâng cao
Các tính năng nâng cao của C#
Clean Architecture
Logging, Monitoring & Observability
Kiểm thử đơn vị & xUnit
Kiểm thử tích hợp
Docker & Containerization
Quản lý gói NuGet
Memory Management & GC
Lập trình phản ứng
Async/await & Mẫu thiết kế
.NET Design Patterns
Tối ưu hóa hiệu năng
Bảo mật & Best Practices
SignalR & Thời gian thực
Kiến trúc Microservices
Nắm vững .NET cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí