使用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]});
}
我看过联接,但是在进行联接时会跌倒,因为这两种类型不同。
答案 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}"));