40
1
using System;
2
using System.Linq;
3
using System.Collections.Generic;
4
5
6
public class Program
7
{
8
class VW_PESSOA
9
{
10
public string ID_Pessoa;
11
public string ID_ArquivoPagamento;
12
public int Peculio_Valor;
13
}
14
15
public static void Main()
16
{
17
List<VW_PESSOA> list = new List<VW_PESSOA>();
18
19
list.Add(new VW_PESSOA() { ID_Pessoa = "1", ID_ArquivoPagamento = "2", Peculio_Valor= 10 });
20
list.Add(new VW_PESSOA() { ID_Pessoa = "1", ID_ArquivoPagamento = "2", Peculio_Valor = 10 });
21
list.Add(new VW_PESSOA() { ID_Pessoa = "4", ID_ArquivoPagamento = "3", Peculio_Valor = 10 });
22
23
var reg = (from p in list
24
where
25
p.ID_Pessoa == "1" &&
26
p.ID_ArquivoPagamento == "2"
27
group p by new { p.ID_Pessoa, p.ID_ArquivoPagamento } into g
28
select new
29
{
30
ID_Pessoa = g.Key.ID_Pessoa,
31
ID_ArquivoPagamento = g.Key.ID_ArquivoPagamento,
32
Peculio_Valor = g.Sum(x=>x.Peculio_Valor)
33
})
34
.ToList()
35
;
36
37
Console.WriteLine("Reparar em como o List foi montado para entender porque o resultado é 20.");
38
Console.WriteLine("A soma de Peculio_Valor onde todos os IDs = 1 e ID_arquivoPagamento = 2 é: " + reg.First().Peculio_Valor);
39
}
40
}
Cached Result