如何在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 });