Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 和群linq_Vb.net_Linq_Grouping - Fatal编程技术网

Vb.net 和群linq

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中理解它# 然而,由

我试图自己解决这个问题,但我不得不在VB中完成,这让我更加困惑。 基本上我有很多东西

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)