从字典键返回值

时间:2020-04-04 15:24:53

标签: vb.net dictionary

我有点vb.net新手-如果这是一个愚蠢的问题,我深表歉意。

我有一个名为Applications的集合,并且这些存储对象的类型为application。

EAX

使用

创建每个应用程序并将其添加到此集合中
Dim Applications As New Dictionary(Of String, Application)()

请参阅我所包含的image,该文件在调试/输出中显示了使用相关对象和值创建的我的集合。

我想知道一种访问密钥并返回csv_dbid,csv_app,csv_status和csv_mode的所有相应值的方法。我一直在谷歌搜索了一番,并在挣扎中。

非常感谢。 加里·沃德尔

1 个答案:

答案 0 :(得分:1)

对于已发布的屏幕截图,您可以这样做:

Dim app = Applications("100")

app将像其他任何医疗保健应用程序一样,因此您可以按需使用它:

app.csv_dbid = "123"

您也可以只引用不带变量的字典项:

Applications("100").csv_dbid = "123"

要了解字典是否知道键,请使用ContainsKey方法。如果您要重复某个集合并要处理重复项,这将特别有用:

For Each thing in someList

  if Applications.ContainsKey(thing.Key) Then
    HandleDuplicate(thing)
  Else 
    Applications(thing.Key) = New HealthCareApplication
  End if

  'It certainly exists in the collection now and this won't crash with KeyNotFound
  Applications(thing.Key).csv_dbid = thing.DbId

Next thing 

如果枚举字典,则会得到KeyValuePair的集合,该键(在这种情况下)是用作索引器的“ 100”。值是HealthCareApplication类型

For Each kvp in Applications

  console.Write(kvp.Key)

  Console.Write(kvp.Value.csv_dbid)

Next kvp