Vb.net 和群linq
我试图自己解决这个问题,但我不得不在VB中完成,这让我更加困惑。 基本上我有很多东西Vb.net 和群linq,vb.net,linq,grouping,Vb.net,Linq,Grouping,我试图自己解决这个问题,但我不得不在VB中完成,这让我更加困惑。 基本上我有很多东西 List<Pax> paxes; 我相信这是可能的,有点linq和分组,但我完全被难住了 假设它是沿着 dim newlist = from p in paxes group p by p.VoucherCode into g _ select new With {g. ..} 是的,这必须在VB中结束,但当我发现这相当痛苦时,我想我会在C中理解它# 然而,由
List<Pax> paxes;
我相信这是可能的,有点linq和分组,但我完全被难住了
假设它是沿着
dim newlist = from p in paxes group p by p.VoucherCode into g _
select new With {g. ..}
是的,这必须在VB中结束,但当我发现这相当痛苦时,我想我会在C中理解它#
然而,由于VB语法是纯粹的邪恶,如果有人可以张贴两者,我可能最终能够理解它的作用。因为代码转换器似乎不能很好地处理扩展的linq查询
非常感谢的任何帮助假设价格为十进制或双精度(非字符串): 更新:您的问题最初被标记为C#,因此这是一个C#解决方案。希望你能把它翻译成VB。如果price是字符串,那么只需添加对值的解析。例如
Total = g.Sum(x => Double.Parse(x.Price.Replace("£", ""))
感谢您的回复 成功地将其转换为vb
Dim q = From v In paxes.Select(Function(p) p.Voucher).Where(Function(v) v IsNot Nothing) _
Group v By v.OptionID, v.VoucherCode, v.Description Into Group _
Select OptionID, VoucherCode, Description, TotalDiscount = Group.Sum(Function(v) v.Price)
字段的名称稍有不同,但工作正常
借助lazyb的帖子和此链接:这是C#还是VB.NET?您的代码示例建议使用C#,但您已将问题标记为VB.NET。请澄清。OP提到的VB,以及标签
Total = g.Sum(x => Double.Parse(x.Price.Replace("£", ""))
Dim q = From v In paxes.Select(Function(p) p.Voucher).Where(Function(v) v IsNot Nothing) _
Group v By v.OptionID, v.VoucherCode, v.Description Into Group _
Select OptionID, VoucherCode, Description, TotalDiscount = Group.Sum(Function(v) v.Price)