加入两个不同类型但长度相同的集合

时间:2018-08-26 17:51:59

标签: c# linq

使用linq连接两个大小相等的集合的最佳方法是什么?

使用for循环的伪代码示例:

var ints = new[] {1, 2, 3};
var strings = new[] {"one", "two", "three"};

for (int i = 0; i < ints.Length; i++)
{
    somecollection.add(new[] {Number = ints[i], Word = strings[i]});
}

我看过联接,但是在进行联接时会跌倒,因为这两种类型不同。

1 个答案:

答案 0 :(得分:2)

可能是这个吗?

var union = ints.Select(i => i)
                .Zip(strings, (i1, i2) => new { Number = i1, Word = i2 });
union.ToList()
     .ForEach(z => Console.WriteLine($"Number: {z.Number}, Word: {z.Word}"));