C#LINQ:将细节对象投影到摘要对象中
我有一个.csv,数据如下所示:C#LINQ:将细节对象投影到摘要对象中,c#,linq,C#,Linq,我有一个.csv,数据如下所示: Account,Debit,Credit 1,10.00,5.00 1,10.00,10.00 2,5.00,5.00 2,10.00,10.00 此数据填充一个IEnumerable。定义如下: 公共类详细信息{ 公共字符串帐户{get;set;} 公共十进制借方{get;set;} 公共十进制信用{get;set;} } 我试图将这个“细节”对象合并并投影到一个汇总对象中,其中Total是每个帐户的借项和贷项之和 公共类摘要{ 公共字符串帐户{g
Account,Debit,Credit
1,10.00,5.00
1,10.00,10.00
2,5.00,5.00
2,10.00,10.00
此数据填充一个IEnumerable
。定义如下:
公共类详细信息{
公共字符串帐户{get;set;}
公共十进制借方{get;set;}
公共十进制信用{get;set;}
}
我试图将这个“细节”对象合并并投影到一个汇总对象中,其中Total是每个帐户的借项和贷项之和
公共类摘要{
公共字符串帐户{get;set;}
公共十进制总数{get;set;}
}
我想要的最终结果是一个清晰的帐户列表,其中每个帐户都有所有的借项和贷项,因此,我有一个摘要预测,而不是每个帐户/借项/贷项多行
Account,Debit,Credit
1,5.00,0.00
2, 0.00, 0.00
假设detailrecords
是类型IEnumerable
的填充集合
var results=detailrecords
.GroupBy(x=>x.Account)
.Select(c=>newsummary(){
Account=?我不知道如何在此处访问我的详细信息属性
Total=?我不知道如何在不访问详细属性的情况下执行算术
}).ToList();
您要查找的内容如下:
var results = detailRecords
.GroupBy(x => x.Account)
.Select(c => new Summary
{
Account = c.Key,
Total = c.Sum(y => y.Credit + y.Debit)
}).ToList();
您正在寻找的是以下内容:
var results = detailRecords
.GroupBy(x => x.Account)
.Select(c => new Summary
{
Account = c.Key,
Total = c.Sum(y => y.Credit + y.Debit)
}).ToList();
@迈克:太棒了@迈克:太棒了!