指定された、「並べて」、および等しい要素 (同じ に従って等しい)によって順序付けられた2 つの順序付けられたIEnumerable
-sa
およびを反復する必要があります。b
IComparer
Zip
IComparer
他のコレクションで(または値など)Zip
一致しないすべての要素が必要です。null
default
ping とは、「呼び出し結果のコレクションを返すことを意味します。ここでZip
、指定されたクロージャーは 2 つのパラメーター (1 つは from から、もう 1つは from から) を取ります」。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
出力コレクションがソースの順序を維持することが望ましいです。
そのようなライブラリの実装は存在しますか?