【发布时间】:2020-11-19 16:29:19
【问题描述】:
我有两个不同大小的 C# 列表,例如
List<int> list1 = new List<int>{1,2,3,4,5,6,7};
List<int> list2 = new List<int>{4,5,6,7,8,9};
我想使用 linq Zip 方法将这两个组合成一个大小为 list1 的元组列表。这是我正在寻找的结果列表
{(1,4), (2,5), (3,6), (4,7), (5,8), (6,9), (7,0)} //this is of type List<(int,int)
由于 list1 的最后一项在 list2 中没有对应项,因此我用默认值填充结果列表的最后一项(在本例中为 0,因为在我的情况下它永远不会出现在任何原始列表中)。
有没有办法单独使用 linq Zip 方法来实现这一点?
【问题讨论】:
-
用默认值填充较短的列表?另外:你真的应该考虑使用
int?,这样你就可以区分0和null -
好吧,在我的情况下,0 永远不会出现在 list1 或 list2 中。我已经更新了问题以反映相同的情况。
标签: c# .net linq generic-list