我只是无法理解这一点。 。
我正在使用Visual Studio 2017和Visual Basic来瞄准2.0 .net框架。
我有两个列表数组,一个是字符串,另一个是单个。
Dim Products As New List(Of String)
Dim Quantity As New List(Of Single)
列表的以下数据:-
Products(0)="1-1/xs":Quantity(0)=2
Products(1)="1-1/s" :Quantity(1)=3
Products(2)="1-1/m" :Quantity(2)=5
Products(3)="1-1/xs":Quantity(3)=7
Products(4)="1-1/m" :Quantity(4)=8
我需要知道如何以编程方式获得此结果:-
Products(0)="1-1/xs":Quantity(0)=9
Products(1)="1-1/s" :Quantity(1)=3
Products(2)="1-1/m" :Quantity(2)=13
结果是拿走了所有产品;然后查看具有重复项的产品(删除重复项),然后将该项目数量添加到“数量”列表中。
请有人能帮助我。 。
答案 0 :(得分:2)
这里是填充字典的示例。 您将遍历数据,如果不存在新对象,请在字典中填充,并在存在时增加数量。
Dim dictionary As New Dictionary(Of String, Integer)
' Add two keys.
dictionary.Add("1-1/xs", 2)
dictionary.Add("1-1/s", 1)
' See if this key exists.
If dictionary.ContainsKey("1-1/xs") Then
' Write value of the key.
Dim num As Integer = dictionary.Item("1-1/xs")
Console.WriteLine(num)
' Or add quantity to it
dictionary.Item("1-1/xs") = dictionary.Item("1-1/xs") + 1
End If
字典可以包含任何对象。因此,您可能倾向于重新考虑要存储的内容。例如,您可以存储具有几个属性(例如颜色,大小等)的Product类,并使用Product的ID(例如,sku)作为字典中的键。
例如:
Dim dictionary As New Dictionary(Of String, Product) 'where Product is a class.
Public Class Product
Public Size as String
Public Color as String
Public Id as String
'etc, etc
End Class