我有一本字典,我填充如下:
Dim RoomInfo As New Dictionary(Of Integer, GuestInfo)
Dim guestCount As Integer = 1
For Each guest As Guest in Room
guest.Code = code
guest.Name = name
RoomInfo.Add(guestCount, guest)
guestCount = guestCount + 1
Next
在代码的另一部分中,我为每个
中的字典添加了更多来宾For Each guest As Guest in Room
guest.Code = code
guest.Name = name
guest.Adults = adults
guest.Children = children
RoomInfo.Add(guestCount, guest)
guestCount = guestCount + 1
RoomInfo.Add(RoomInfo.Count + 1, guest)
Next
我无法弄清楚原因,但是当我单步执行代码时,我看到成人和儿童拥有正确的值,但它会被清零。
以下是一个例子:
在初始循环中,我没有将成人和儿童分配给结构(访客)。
在第二个循环中,我检查房间是否有分配的访客,如果不是,我创建一个新结构(访客),然后将其添加到房间列表。所以在第一个循环中,我可能有2条记录,但是在第二个循环中,我必须添加第3条记录,但是当我这样做时,似乎第3条记录从第2条记录获得成人/儿童数量第二条记录为零。
答案 0 :(得分:0)
您可以尝试将密钥设为字符 - 也许是付款人的姓名和日期,即Dim mykey As String = {Lastname & "_" & Firstname & "_" & RoomNumber}
,然后将客人和房间的所有数据堆叠在字符串列表中:
Dim dic As New Dictionary(Of String, List(Of String))