vb.net – Sum和group linq
发布时间:2020-12-17 00:08:06 所属栏目:大数据 来源:网络整理
导读:我试图自己解决这个问题,但我不得不在VB中做到这一点,这让我更加困惑. 基本上我有一些物体 ListPax paxes; 其中一个Pax属性是Voucher,而Voucher又有一些属性,如ID和Price 我想要做的是从Pax列表中选择一个凭证列表及其累积价格 so from Pax1 - Voucher{ Vouc
我试图自己解决这个问题,但我不得不在VB中做到这一点,这让我更加困惑.
基本上我有一些物体 List<Pax> paxes; 其中一个Pax属性是Voucher,而Voucher又有一些属性,如ID和Price 我想要做的是从Pax列表中选择一个凭证列表及其累积价格 so from Pax1 - Voucher{ VoucherDesc = 10 percent off,VoucherCode = 10-OFF,Price = £150} Pax2 - Voucher{ VoucherDesc = 10 percent off,Price = £120} Pax3 - Voucher{ VoucherDesc = Buy one get one free,VoucherCode = BOGOF,Price = £300} to {10 percent off,10-OFF,£270 } {Buy one get one free,BOGO,£300 } 我确信这可以通过一些linq和分组来实现,但我完全被难倒了 假设它是沿着的 dim newlist = from p in paxes group p by p.VoucherCode into g _ select new With {g. ..} 是的,这必须以VB结束,但是当我发现相当痛苦时,我想在C#中会更加理解它 任何帮助非常感谢
假设价格是十进制或双精度(不是字符串):
var query = from v in paxes.Select(p => p.Voucher) group v by new {v.VoucherDesc,v.VoucherCode } into g select new { Desc = g.Key.VoucherDesc,Code = g.Key.VoucherCode,Total = g.Sum(x => x.Price) }; 更新:您的问题最初是用C#标记的,因此这是一个C#解决方案.希望你能把它翻译成VB.如果price是字符串,那么只需添加值的解析.例如. Total = g.Sum(x => Double.Parse(x.Price.Replace("£","")) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |