Bối cảnh: Trong tháng tới, tôi sẽ có ba bài nói về hoặc ít nhất là bao gồm LINQ
trong bối cảnh C#
. Tôi muốn biết những chủ đề nào đáng để chú ý một cách hợp lý, dựa trên những gì mọi người có thể cảm thấy khó hiểu hoặc những gì họ có thể có ấn tượng sai lầm. Tôi sẽ không nói cụ thể về LINQ
đến SQL
hoặc khung Entity trừ khi được ví dụ về cách truy vấn có thể được thực hiện từ xa sử dụng cây biểu thức (và thường IQueryable
).
Vì vậy, những gì bạn đã tìm thấy khó khăn về LINQ
? Bạn đã thấy gì về sự hiểu lầm? Ví dụ có thể là bất kỳ điều nào sau đây, nhưng xin đừng giới hạn bản thân!
- Cách
C#
trình biên dịch xử lý các biểu thức truy vấn - Biểu thức Lambda
- Cây biểu hiện
- Phương pháp mở rộng
- Các loại ẩn danh
IQueryable
- Trì hoãn so với thực hiện ngay lập tức
- Truyền phát so với thực thi được đệm (ví dụ OrderBy bị hoãn nhưng được đệm)
- Hoàn toàn gõ các biến cục bộ
- Đọc chữ ký chung phức tạp (ví dụ Enumerable.Join )