Я пытаюсь найти элегантный способ написать метод расширения, который может называться MergeWithRatio или ZipWithRatio.
Я ожидаю, что у него будет эта подпись ..
public static IEnumerable<T> MergeWithRatio<T>(this IEnumerable<T> source, IEnumerable<T> mergeSequence, int ratio)
{
..
}
Примерfirst.
var source = new[]{1,2,3,4,5,6,7,8,9};
var mergeSeq = new[]{100,200};
var result = source.MergeWithRatio(mergeSeq, 3).ToArray();
Результат теперь содержит [1, 2, 100, 3, 4, 200, 5, 6, 100, 7, 8, 200, 9]
Суммирование:MergeSeq зацикливается, когда / если закончено, и сдача прекращается, когда «источник» пуст.
Если возможно, я бы предпочел, если бы решение было ленивым, но это не требование.
Любые идеиили указатели?