如何在c#中使用两个列表的笛卡尔连接?
如何将两个带有整数的列表的笛卡尔连接加入其中?
这可以用linq完成吗?
假设您的意思是“交叉连接”或“笛卡尔连接”:
var query = from x in firstList from y in secondList select new { x, y }
要么:
var query = firstList.SelectMany(x => secondList, (x, y) => new { x, y });
如果你想要别的东西(正如你从评论中看到的那样,“交叉产品”这个词引起了一些混乱),请适当地编辑你的问题。 一个例子非常方便:)
为了好奇,另一种实现这一目标的方法(产生与Jon Skeet的答案相同的结果)是:
firstList.Join(secondList, x => true, y => true, (m, n) => new { m, n });