У меня есть класс и список как указано ниже:
class C1
{
int RecType ...;
decimal Income ...;
decimal Outcome ...;
}
List<C1> myList ...;
Список загружается несколькими записями, и у них есть различные значения в RecType, Что я хочу, должен вычислить общее количество на Поступивший и Результат, но только для определенного значения RecType
Вот псевдо код того, что я должен получить
totalIncome = myList.Sum(Income).Where(RecType==1);
Как я могу выполнить это с linq?
Спасибо
totalIncome = myList.Where(x => x.RecType == 1).Select(x => x.Income).Sum();
Сначала вы фильтруете по типу записи ( Где
); затем вы трансформируете с помощью Выбирая
, добавляя Доход
каждого объекта; и, наконец, вы Суммируете
все это.
Или, если кратко:
totalIncome = myList.Where(x => x.RecType == 1).Sum(x => x.Income);
totalIncome = myList.Sum(c=> (c.RecType==1 ? c.Income : 0));