khách hàng = > khách hàng. FirstName == "Donna" trái operand, khách hàng, là tham số đầu vào. Operand phải là biểu hiện lambda kiểm tra hay không của khách hàng FirstName tài sản là tương đương với "Donna." Vì vậy, cho một đối tượng khách hàng nhất định, bạn đang kiểm tra xem đầu tiêntên là Donna. Biểu hiện lambda này sau đó được thông qua vào nơi phương pháp để thực hiện các thao tác so sánh này trên từng khách hàng trong danh sách khách hàng. Truy vấn được xác định bằng cách sử dụng phương pháp mở rộng ở đây được gọi là phương pháp dựa trên truy vấn. Mặc dù cách truy vấn và các phương pháp khác nhau, họ là ngữ nghĩa giống hệt nhau, và trình biên dịch dịch chúng vào cùng một mã IL. Bạn có thể sử dụng một trong hai của họ dựa trên sở thích của bạn. Hãy bắt đầu với một truy vấn rất đơn giản, như minh hoạ trong ví dụ 13-8.Tên báo cáo. Mà là viết tắt cho:System.Linq.Enumerable.Where (tên, n = > n.StartsWith("D")); Đó là một phương pháp mở rộng và do đó bạn có thể bỏ ra các đối tượng (tên) như là đối số đầu tiên, và bằng cách bao gồm không gian tên System.Linq, bạn có thể kêu gọi nơi trực tiếp trên các đối tượng tên chứ không phải qua Enumerable. Hơn nữa, loại dNames là Ienumerable; chúng tôi đang sử dụng khả năng mới của trình biên dịch để suy ra điều này bằng cách sử dụng từ khóa var. Điều này không làm suy yếu typesafety, Tuy nhiên, vì var được biên soạn vào loại Ienumerable thông qua đó suy luận. Vì vậy, bạn có thể đọc dòng này:var dNames = tên. Nơi (n = > n.StartsWith("D"));như "điền vào các bộ sưu tập IEnumerable dNames từ tên bộ sưu tập với mỗi thành viên mà thành viên bắt đầu với chữ mất" Như cú pháp phương pháp là gần gũi hơn với cách trình biên dịch C# xử lý truy vấn, nó là giá trị chi tiêu nhiều hơn một chút thời gian để xem xét làm thế nào một truy vấn phức tạp được thể hiện để đạt được một sự hiểu biết tốt hơn về LINQ. Hãy dịch ví dụ 13-3 vào một phương pháp dựa trên truy vấn để xem làm thế nào nó sẽ (xem ví dụ 13-9).Ví dụ 13-9. Các truy vấn phức tạp trong phương pháp cú phápkhông gian tên Programming_CSharp {/ / lớp khách hàng đơn giản khu vực lớp khách hàng {/ / tương tự như trong ví dụ 13-1}
đang được dịch, vui lòng đợi..