Прямого эквивалента не существует, но вы можете сделать это в два этапа. Сначала используйте Enumerable.Repeat
, чтобы создать массив с одинаковым значением в каждом элементе. Затем скопируйте его в целевой массив:
var t = Enumerable.Repeat(value, count).ToArray();
Array.Copy(t, 0, dest, destStartIndex, count);
Для других контейнеров назначения отсутствует эквивалент Array.Copy
, но их легко добавить в качестве пунктов назначения, например:
static void Overwrite<T>(this List<T> dest, IEnumerable<T> source, int destOffset) {
int pos = destOffset;
foreach (var val in source) {
// Could treat this as an error, or have explicit count
if (pos = dest.Length) { return; }
dest[pos++] = val;
}
}