我可以使用循环来做到这一点,但有没有办法获取两个IEnumerables,枚举所有可能的排列并选择一个包含排列的对象?我觉得这应该是“应该”,但我不确定要使用哪些操作符。
由于 詹姆斯
答案 0 :(得分:8)
你在谈论基本上是笛卡尔式的加入吗?你可以做点什么
var query = from item1 in enumerable1
from item2 in enumerable2
select new { Item1 = item1, Item2 = item2 }
答案 1 :(得分:5)
Anthony's answer是正确的。等效的扩展方法是:
var query = enumerable1.SelectMany(
x => enumerable2,
(item1, item2) => new { Item1 = item1, Item2 = item2 }
);
或
var query = enumerable1.SelectMany(
item1 => enumerable2.Select(item2 =>
new { Item1 = item1, Item2 = item2 });
);