Группировка лямбда - PullRequest
       14

Группировка лямбда

1 голос
/ 06 октября 2010

если у меня есть такая структура:

Batch  Amount
76  495.4
76  975.75
76  25
76  442.46
77  1335.12
77  2272.37
77  34.5
77  496.99
77  360
77  13
77  594.6

И я хочу получить что-то вроде

Batch  Amount
76    1938.61
77    5106.58

Каким должно быть выражение?

Я началс чем-то вроде:

batches.GroupBy(x => new { Batch = x.Batch, Amount = x.Amount });

Но это не совсем то, что я ищу.Помоги мне сделать это правильно.Спасибо

Ответы [ 2 ]

5 голосов
/ 06 октября 2010

Закрыть.Попробуйте это:

batches.GroupBy(x => x.Batch, x => x.Amount).Select(g => new {
    Batch = g.Key,
    Amount = g.Sum()
});
1 голос
/ 06 октября 2010

Запрос будет выглядеть так:

var bs = from s in batches
            group s by s.Batch into g
            select new { Batch = g.Key, Amount = g.Sum(p => p.Amount) };

Хотя я не знаю, какой лямбда-эквивалент будет

UPD:

Решарпер очень помогает! :)

var batches = bs .GroupBy(s => s.Batch).Select(
                g => new {Batch = g.Key, Amount = g.Sum(p => p.Amount)});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...