2012-08-11 4 views
0

문자열 키를 사용하여 액세스 할 수있는 Visual Basic 사전 개체가 있습니다. 문제는 Visual Basic에서 문자열 자체가 아니라 문자열에 대한 참조를 저장하고 있다는 것입니다. 따라서 키를 사용하여 사전에 색인을 생성 할 때 객체 참조가 동일하지 않기 때문에 항상 실패합니다. 색인을 생성 할 수없는 사전의 요점은 무엇입니까? 어떻게 해결할 수 있습니까?문자열과 함께 Visual Basic 사전 사용

편집 :

, 내가 더 문자열 키는 불변 유형 때문에 내용이 아닌 객체 참조가 비교되어 파이썬 사전처럼 이것을 사용할 수 있도록하려면 더 명확합니다.

+3

당신은 코드를하시기 바랍니다 제공 할 수있다 : 당신이 일을 원하는대로 그리고 사전 일을합니까? – Carth

답변

3

문자열은 .Net 입니다.은 변경할 수 없습니다.

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 문자열이 변경되지 않기 때문에 기쁩니다! –