获取子列表

Rus*_*ana 1 c# linq

从给定的集合

{} 1,2,3,4,5,6,7,8,99,89

使用LINQ获取所有可能的两个数字子集的方法是什么?

(即){1,2},{1,3},{1,4} .....

Mar*_*ell 6

交叉加入?

var data = new[] {1,2,3,4,5,6,7,8,99,89};
var qry = from x in data
          from y in data
          where x < y
          select new {x,y};
foreach (var pair in qry) {
    Console.WriteLine("{0} {1}", pair.x, pair.y);
}
Run Code Online (Sandbox Code Playgroud)

对于三元组:

var data = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 99, 89 };
var qry = from x in data
          from y in data
          where x < y
          from z in data
          where y < z
          select new { x, y, z };
foreach (var tuple in qry) {
    Console.WriteLine("{0} {1} {2}", tuple.x, tuple.y, tuple.z);
}
Run Code Online (Sandbox Code Playgroud)