将Visual Basic字典与字符串一起使用

时间:2012-08-11 05:05:37

标签: vb.net dictionary

我在Visual Basic中有一个字典对象,我想用字符串键访问它。问题是,Visual Basic存储对字符串的引用,而不是字符串本身。因此,当我使用键索引字典时,它始终会失败,因为对象引用不相等。我无法索引的字典有什么意义?我该如何解决这个问题?

编辑:

为了更清楚,我希望能够更像Python字典使用它,其中字符串键是不可变类型,因此比较内容而不是对象引用。

1 个答案:

答案 0 :(得分:3)

.Net 中的字符串不可变。字典 DOES 按您希望的方式工作:

Dim Store As New Dictionary(Of String, Object)

Store("Key1") = New Form()
Store("Key2") = New Exception()
Store("Key3") = 10
Store("Key4") = "Test"

MessageBox.Show(Store("Key1").GetType().FullName) ' System.Windows.Forms.Form
MessageBox.Show(Store("Key2").GetType().FullName) ' System.Exception
MessageBox.Show(Store("Key3").GetType().FullName) ' System.Int32
MessageBox.Show(Store("Key4").GetType().FullName) ' System.String