Я создал Func<int[], decimal>
, который суммирует все элементы в массиве целых чисел:Linq два шага Func одной линии лямбда
Func<int[], decimal> testFunc1 = delegate(int[] intArr)
{
int[] filter = intArr.Where(i => i > 0).ToArray();
decimal r = intArr.Where(i => filter.Contains(i)).Sum();
return r;
};
Как конденсироваться это вниз к чему-то, что может быть потребленной
Enumerable.Sum(TSource, Func<TSource, Decimal>)
Я попытался это, но я получаю сообщение об ошибке IntelliSense из лямбда-выражения, который говорит, что я не могу преобразовать тип bool
ввести decimal
:
decimal result2 = testInt.Sum(i => i > 0);
кстати, что использование 'междунар [] tempResult = intArr.Where (я => filter.Contains (i)). ToArray(); 'this statement. – din
извините, его не следует включать. я удалю, это затмевает вопрос. –