2016-12-09 16 views
-1

我想弄清楚什么LINQ查询是要对arraylist进行计算。对ArrayList的LINQ查询

我有一个结构:

Public Structure CC 
    Dim Con As String 
    Dim Len As Integer 
End Structure 

这是填充,进入到一个ArrayList(简单示):

  cc.Con = "A" : cc.Len = 10 : aList.Add(cc) 
      cc.Con = "B" : cc.Len = 10 : aList.Add(cc) 
      cc.Con = "A" : cc.Len = 30 : aList.Add(cc) 
      cc.Con = "B" : cc.Len = 50 : aList.Add(cc) 

所以,我怎么能添加A和B,并得到使用的总计linq查询?基本上,我只是希望它吐出A = 40 B = 60

任何和所有的帮助表示赞赏......我卡住,因为这是我通常只用于列表。

Dim groups = lItems.GroupBy(Function(value) value) 
+0

请不要使用'ArrayList' - 这是2001年。现在是2016年。使用'List(Of CC)'代替。 – Enigmativity

+0

如果你不能使用'List '(尽管我无法想象为什么......),你有没有考虑过在'ArrayList'上调用'ToArray()'方法? ArrayList可能不知道LINQ扩展,但一个好的旧数组应该。尽管如此,如果你能*使用“清单”,那就这样做。 – Tim

回答

0

,因为它们是过时使用的List(Of CC)而不是ArrayList

Dim aCount = Aggregate cc In aList Where cc.Con = "A" Into Sum(cc.Len) 

B组同样的事情。