Здравствуйте, Чистяков Влад (VladD2)
Идентификатор seed при вызове func -- это ошибка или что-то другое?
public static TAccumulate AggregateRight<TSource, TAccumulate>(
this IEnumerable<TSource> source,
TAccumulate acc,
Func<TAccumulate, TSource, TAccumulate> func)
{
if (source == null)
throw New ArgumentNullException("source");
if (func == null)
throw New ArgumentNullException("func");
foreach (TSource item in source.Reverse())
acc = func(seed, item);
return acc;
}
PS. Из статьи можно было бы смело выкинуть, как минимум, 1/3 текста при сохранении той же информативности.
PPS. По ходу чтения сильно напрягает стиль изложения "от первого лица" с наездами на "императивных программистов".
PPPS. Надеюсь, что 90% императивных программистов все-таки пишут так:
for (int i = 0; i < array1.Length; i++)
{
if (i != 0)
result += ", ";
result += array1[i];
}