我需要迭代两个有序的IEnumerable
-sa
和b
,由给定的IComparer
、“并排”和Zip
相等的元素(根据相同的IComparer
)排序。
我需要Zip
其他集合中没有匹配的所有元素null
(或default
值,无论如何)。
通过ping 我的意思是“返回调用结果Zip
的集合,其中一个给定的闭包采用 2 个参数,一个来自,一个来自”。f()
f()
a
b
a
并且b
可以有不同数量的元素,并且不必匹配 1:1。
例如:
IComparer comparer = ...;
int[] a = { 1, 2, 4, 7, 7 };
int[] b = { -1, 1, 3, 4, 7, 8 };
var zipped = EvenMoreLinq.ZipEqual(a, b, comparer, (a, b) => new int[]{ a, b });
我希望zipped
是:
{ {0, -1}, {1, 1}, {2, 0}, {0, 3}, {4, 4}, {7, 7}, {7, 0}, {0, 8} };
a
和中的相等元素b
应该与另一个集合中的匹配元素一样多。
输出集合最好保持源顺序。
是否存在这样的库实现?