0

指定された、「並べて」、および等しい要素 (同じ に従って等しい)によって順序付けられた2 つの順序付けられたIEnumerable-saおよびを反復する必要があります。bIComparerZipIComparer

他のコレクションで(または値など)Zip一致しないすべての要素が必要です。nulldefault

ping とは、「呼び出し結果のコレクションを返すことを意味します。ここでZip、指定されたクロージャーは 2 つのパラメーター (1 つは from から、もう 1つは from から) を取ります」。f()f()ab

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} };

との等しい要素は、他のコレクションに一致する要素がある限り一致する必要がありますab

出力コレクションがソースの順序を維持することが望ましいです。

そのようなライブラリの実装は存在しますか?

4

2 に答える 2