假设我有两个列表:
var list1 = new int[] {1, 2, 3};
var list2 = new string[] {"a", "b", "c"};
是否可以编写一个LINQ语句来生成以下列表:
var result = new []{
new {i = 1, s = "a"},
new {i = 1, s = "b"},
new {i = 1, s = "c"},
new {i = 2, s = "a"},
new {i = 2, s = "b"},
new {i = 2, s = "c"},
new {i = 3, s = "a"},
new {i = 3, s = "b"},
new {i = 3, s = "c"}
};
编辑:我忘了提到我不想使用查询语法。无论如何,根据preetsangha的答案,我得到了以下内容:
var result = list1.SelectMany(i => list2.Select(s => new {i = i, s = s}));
select new { i = l1, s = l2}).ToList(); - JDPeckham