【问题标题】:Vb.net access an item in a list inside a dictionaryvb.net 访问字典内列表中的项目
【发布时间】:2017-06-13 08:58:21
【问题描述】:

我在 VB.net 中创建了一个字典来包含一个列表

 Dim dic As New Dictionary(Of String, List(Of Double))

然后在一个循环中,我将 Key 和 Items 添加到列表中。

dic.Add("Key1", New List(Of Double))

做一些事情并将项目添加到密钥列表中

Dic("Key1").Add(1.1078)
Dic("Key1").Add(12.232)
Dic("Key1").Add(33.365)

如何使用 Key 访问列表的值

Console.writeline(Dic.Item("Key1")(1)) 

我试图打印与 Key1 关联的列表的索引 1 但我遇到了崩溃

谢谢 纪子

【问题讨论】:

  • define "crash" 是否有与之相关的消息?
  • 是的,但是如果我这样做 Console.Writeline(Dic.Item("Key1")) 我会得到结果 "System.Collections.Generic.List'1[System.double] 这是什么意思
  • 崩溃消息是 System.Collections.Generic.KeyNotFoundException
  • 代码看起来正确 - Console.writeline(Dic.Item("Key1")(1)) 应该打印 12.232
  • 操作,愚蠢的明白了!我把(0)放在了错误的地方,为什么找不到钥匙!!很抱歉,我把问题贴对了,在代码上写错了!!我的坏

标签: vb.net dictionary


【解决方案1】:

同时你也找到了答案。我想补充一点,更安全的方法是使用TryGetValue

Dim list As List(Of Double)
If dic.TryGetValue("Key1", list) Then
    Console.WriteLine(list(0))
Else
    Console.WriteLine("Key1 not found!")
End If

【讨论】:

    【解决方案2】:

    就是这么简单。

    dic("key1").item(1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多