2012-08-11 22 views
0

我有一個Visual Basic中的字典對象,我想用字符串鍵訪問它。問題是,Visual Basic存儲對字符串的引用,而不是字符串本身。所以當我用鍵索引字典時,它總是失敗,因爲對象引用不相等。我無法索引的字典有什麼意義?我該如何解決這個問題?使用帶字符串的Visual Basic詞典

編輯:

更清楚,我希望能夠利用這個更像是一個Python字典,其中字符串鍵是不可變的類型,因此內容而不是對象的引用進行比較。

+3

你能提供代碼段嗎? – Carth 2012-08-11 05:09:14

回答

3

.NET中的字符串ARE不可變。和字典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 
+0

是的......這確實有效。奇怪的是,昨天晚上不適合我的代碼今天爲我工作。爲什麼這是我不確定。也許我改變了一些東西,但我無法弄清楚什麼。現在一切正常。抱歉打擾你,我很高興VB字符串是不可變的! – 2012-08-11 18:03:17

相關問題