customer => customer.FirstName ==

customer => customer.FirstName == "

customer => customer.FirstName == "Donna" the left operand, customer, is the input parameter. The right operand is the lambda expression that checks whether the customer’s FirstName property is equal to “Donna.” Therefore, for a given customer object, you’re checking whether its first
name is Donna. This lambda expression is then passed into the Where method to perform this comparison operation on each customer in the customer list. Queries defined using extension methods are called method-based queries. Although the query and method syntaxes are different, they are semantically identical, and the compiler translates them into the same IL code. You can use either of them based on your preference. Let’s start with a very simple query, as shown in Example 13-8.
The statement names.Where is shorthand for:
System.Linq.Enumerable.Where(names,n=>n.StartsWith("D")); Where is an extension method and so you can leave out the object (names) as the first argument, and by including the namespace System.Linq, you can call upon Where directly on the names object rather than through Enumerable. Further, the type of dNames is Ienumerable; we are using the new ability of the compiler to infer this by using the keyword var. This does not undermine typesafety, however, because var is compiled into the type Ienumerable through that inference. Thus, you can read this line:
var dNames = names.Where(n => n.StartsWith("D"));
as “fill the IEnumerable collection dNames from the collection names with each member where the member starts with the letter D.” As the method syntax is closer to how the C# compiler processes queries, it is worth spending a little more time to look at how a more complex query is expressed to gain a better understanding of LINQ. Let’s translate Example 13-3 into a method-based query to see how it would look (see Example 13-9).
Example 13-9. Complex query in method syntax
namespace Programming_CSharp { // Simple customer class public class Customer { // Same as in Example 13-1 }
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
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..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
khách hàng => customer.FirstName == "Donna" toán hạng bên trái, khách hàng, là tham số đầu vào. Các toán hạng bên phải là biểu thức lambda để kiểm tra xem tài sản FirstName của khách hàng bằng "Donna". Vì vậy, đối với một đối tượng khách hàng nhất định, bạn đang kiểm tra xem đầu tiên
tên là Donna. Sau đó biểu thức lambda này được thông qua vào đâu phương pháp để thực hiện các hoạt động so sánh này trên mỗi khách hàng trong danh sách khách hàng. Truy vấn được xác định bằng phương pháp mở rộng được gọi là truy vấn phương pháp dựa trên. Mặc dù các truy vấn và phương pháp cú pháp khác nhau, họ là ngữ nghĩa giống nhau, và trình biên dịch chúng thành mã IL cùng. Bạn có thể sử dụng một trong số họ dựa trên sở thích của bạn. Hãy bắt đầu với một câu hỏi rất đơn giản, như trong Ví dụ 13-8.
Những tuyên bố names.Where là viết tắt cho:
System.Linq.Enumerable.Where (tên, n => n.StartsWith ( "D")); Trường hợp là một phương pháp mở rộng và do đó bạn có thể bỏ qua các đối tượng (tên) như là đối số đầu tiên, và bằng cách bao gồm các System.Linq gian tên, bạn có thể kêu gọi nơi trực tiếp vào tên đối tượng hơn là thông qua Enumerable. Hơn nữa, các loại dNames là IEnumerable; chúng ta đang sử dụng các 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 các 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 thành các loại IEnumerablethông qua suy luận đó. Vì vậy, bạn có thể đọc dòng này:
var dNames = names.Where (n => n.StartsWith ( "D"));
là "lấp đầy dNames sưu tập IEnumerable từ tên bộ sưu tập với mỗi thành viên mà các thành viên bắt đầu bằng chữ D . "là cú pháp phương pháp là gần gũi hơn với cách biên dịch C # xử lý các truy vấn, nó là giá trị chi tiêu nhiều hơn một chút thời gian để xem làm thế nào một truy vấn phức tạp hơn đượ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 truy vấn phương pháp dựa trên để xem làm thế nào nó sẽ xem xét (xem Ví dụ 13-9).
Ví dụ 13-9. Truy vấn phức tạp trong phương thức cú pháp
namespace Programming_CSharp {// Simple lớp khách hàng public class Customer {// Tương tự như trong Ví dụ 13-1}
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: