Tôi nhận được các nguyên tắc cơ bản của bao đóng và biểu thức lambda nhưng tôi đang cố gắng che giấu những gì đang xảy ra đằng sau hậu trường và khi nó là/không thực tế để sử dụng chúng trong mã của tôi. Hãy xem xét ví dụ sau, có một bộ sưu tập tên và trả về bất kỳ tên nào bắt đầu bằng chữ cái C ...Đóng cửa và Lambda trong C#
Trước tiên, có cách nào trực tiếp hơn để tôi có thể viết biểu thức này không? Thứ hai, không phải là "FindAll" sẽ cấp phát bộ nhớ cho một bộ sưu tập mới chứa các mục phù hợp? Tôi chắc chắn thấy rằng cú pháp là thanh lịch hơn, nhưng tôi muốn chắc chắn rằng tôi không đi vào các vấn đề hiệu suất sau đó xuống đường khi làm việc với các bộ sưu tập lớn hơn. Liệu trình biên dịch làm một số voodoo tối ưu hóa đằng sau hậu trường mà làm cho mối quan tâm của tôi không hợp lệ?
Ok, vì vậy có thể tôi chưa hoàn toàn hiểu được các khái niệm cơ bản về đóng cửa. Tuy nhiên, tất cả các câu trả lời tôi nhận được ở đây đều tuyệt vời và di chuyển tôi xa hơn một chút trên con đường ... cảm ơn, tất cả mọi người. – lJohnson
Điều đó giải thích cho tôi sự khác biệt giữa các bao đóng và lambda: "không đóng mã trong đó, bởi vì không có biến cục bộ nào để nắm bắt." – TLDR