vb.net - DateTime 作为字典中的对象

标签 vb.net dictionary

我已阅读here一个字典(字符串、对象)可以保存多种变量类型。但是,在下面的函数中,endTime 似乎没有被分配。下面代码中的 Console.Write(lobjWaveOutList(0)("endTime")) 行给出了错误“给定的键不存在于字典中”。

Private lobjWaveOutList As New List(Of Dictionary(Of String, Object))()
Public Sub addIndex(waveOut As Object, endTime As DateTime)
    Console.WriteLine("endTime:")
    Console.WriteLine(endTime)
    lobjWaveOutList.Add(New Dictionary(Of String, Object)() From {{"waveOut", waveOut}})
    lobjWaveOutList.Add(New Dictionary(Of String, Object)() From {{"endTime", endTime}})
    Console.Write(lobjWaveOutList(0)("endTime"))
End Sub

我使用以下参数调用了 addIndex 函数:

waveouts.addIndex(New WaveOut(), DateTime.Now.AddSeconds(10))

最佳答案

lobjWaveOutList(0)("endTime") 将不起作用,因为它正在访问列表中的第一个字典,该字典仅包含“waveOut” 项目。 “endTime” 项位于列表中的第二 字典中。要获得这个,您需要执行以下操作:

 Console.Write(lobjWaveOutList(1)("endTime"))

正如 Neolisk 指出的那样,根据您的示例,简单地拥有一个包含多个项目的字典,而不是一个字典列表,每个字典仅包含一个项目似乎更合适。

关于vb.net - DateTime 作为字典中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21166555/

相关文章:

iOS 后台 MKPointAnnotation

c# - 在静态类中声明一个字典

python - 匹配键并插入到新列中

vb.net - 使用 Visual Basic 查找并替换 txt 文档中的文本

java - 我在客户端上没有收到来自服务器的消息

python - 创建一个字典,其值每次使用时都会更新

Python Enum 在对成员值使用相同的字典时显示奇怪的行为

vb.net - 强制模块 namespace 限定

c# - 将菜单项添加到另一个应用程序

c++ - 将 C++ 转换为 VB.Net 问题