根據我對的瞭解,其中LINQ中的子句中,它將基於每個元素的所有可能組合的兩個或多個元素的元素進行組合,然後應用這些條件。例如:可能在LINQ中做一個聯合?
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();
}
這產生其中標準施加之前以下結果。
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
與條件匹配的結果是3,7和4,6。這將產生的結果:
(3,7) == 10
(4,6) == 10
但是,從我記得上小學的集理論,有沒有提供工會兩套(僞)的方式:
{3,4 ,5}工會{6,7,8} = {3,4,5,6,7,8}
謝謝,
斯科特
哦
評價所得的實際順序。哈哈,我肯定覺得啞巴。我什麼時候想使用哪裏,生成所有可能的組合? – 2010-01-04 21:42:04