2015-03-05 8 views
-3
code name  number case 
1  a   5  1 
2  b   9  1 
1  a   6  1 
3  c   8  1 
2  b   1  1 
1  a   1  2 
2  b   3  2 
3  c   1  1 

если случай 1 => номера + = число, и если случай 2 number- = номер и я хочу создать этот список с помощью LINQкак объединить список и сохранить значения с помощью LINQ

, например первых в Третий код строки равен 1 и 1 случай номер Третий ряд плюс с номером первого ряда, число = 11

в шестой строке трески равно 1 и случай 2, то число вычитают, число = 10

code name  number case 
1  a   10  1 
2  b   7  1 
3  c   9  1 
+2

Вы не упоминают о структуре данных это в Это простая группа и сумма, но ответить на ваш вопрос правильно, мы должны видеть код, который вы сделанный до сих пор. – paqogomez

ответ

0

Это будет делать то, что вы хотите:.

var result = dataList.GroupBy(x => x.Id).Select(grouping => new 
{ 
    Id = grouping.First().Id, 
    Name = grouping.First().Name, 
    Number = grouping.Sum(x => x.CaseId == 2 ? -x.Number : x.Number) 
}); 
+0

, если у меня есть условие в моем списке, что делать, как это, у меня есть столбец, если случай равен 1 номер +, и если в случае 2 числа - – alijuventusi

+0

Извините, я не уверен, что вы имеете в виду. – RagtimeWilly

+0

У меня есть случай Колонка плюс номер кодового имени, если в случае 1 значение суммы суммы и случай 2 числа Вычитание и окончательная группировка, было ясно? – alijuventusi

Смежные вопросы