Từ những gì tôi hiểu về mệnh đề nơi trong LINQ, nó kết hợp các yếu tố từ hai hay nhiều bộ dựa trên tất cả kết hợp có thể có của mỗi yếu tố và sau đó áp dụng các tiêu chuẩn. Ví dụ:Có thể làm công đoàn trong LINQ không?
public static void Main(string[] args)
{
var setA = new[] {3, 4, 5};
var setB = new[] {6, 7, 8};
var result = from a in setA
from b in setB
let sum = a + b
where sum == 10 // Where, criteria sum == 10.
select new {a, b, sum};
foreach (var element in result)
Console.WriteLine("({0},{1}) == {2}", element.a, element.b, element.sum);
Console.ReadLine();
}
này tạo ra các kết quả sau đây trước khi nơi tiêu chuẩn được áp dụng.
3,6 = 9 4,6 = 10 5,6 = 11
3,7 = 10 4,7 = 11 5,7 = 12
3,8 = 11 4,8 = 12 5,8 = 13
Kết quả phù hợp với tiêu chí là 3,7 và 4,6. Điều này tạo ra kết quả:
(3,7) == 10
(4,6) == 10
Tuy nhiên, từ những gì tôi nhớ trong lý thuyết tập hợp trường lớp, là có một cách để cung cấp các đoàn của hai bộ (giả):
{3, 4 , 5} {đoàn 6, 7, 8} = {3, 4, 5, 6, 7, 8}
Cảm ơn,
Scott
Oh. Ha ha, tôi chắc chắn cảm thấy câm. Khi nào tôi muốn sử dụng ở đâu, tạo ra tất cả các kết hợp có thể? –