using System.Collections.Generic;
public string ID_ArquivoPagamento;
public int Peculio_Valor;
public static void Main()
List<VW_PESSOA> list = new List<VW_PESSOA>();
list.Add(new VW_PESSOA() { ID_Pessoa = "1", ID_ArquivoPagamento = "2", Peculio_Valor= 10 });
list.Add(new VW_PESSOA() { ID_Pessoa = "1", ID_ArquivoPagamento = "2", Peculio_Valor = 10 });
list.Add(new VW_PESSOA() { ID_Pessoa = "4", ID_ArquivoPagamento = "3", Peculio_Valor = 10 });
var reg = (from p in list
p.ID_ArquivoPagamento == "2"
group p by new { p.ID_Pessoa, p.ID_ArquivoPagamento } into g
ID_Pessoa = g.Key.ID_Pessoa,
ID_ArquivoPagamento = g.Key.ID_ArquivoPagamento,
Peculio_Valor = g.Sum(x=>x.Peculio_Valor)
Console.WriteLine("Reparar em como o List foi montado para entender porque o resultado é 20.");
Console.WriteLine("A soma de Peculio_Valor onde todos os IDs = 1 e ID_arquivoPagamento = 2 é: " + reg.First().Peculio_Valor);