所以,據我所知,字符串是一個引用類型。然而,這樣做什麼時候字符串比較比較引用或值?
Dim s1 As String = "hello"
Dim s2 As String = New String(s1)
MsgBox((s1 = s2).ToString)
結果的時候是真實的,即使它們是不同的引用
我有一個關鍵字類型的標籤系統在我的數據庫回事。它有一個共享註冊表來確保所有「hello」實例都是對「hello」實例的引用。然而,在我看來,在過濾等情況下,比較2個「你好」可能會反而比較這個值,而不是比較糟糕的參考。是這樣嗎?如果是這樣,我將如何比較參考?
編輯:獎金問題:集合類中的.Contains方法呢?從我可以看到他們也使用重寫值比較。我將不得不創建自己的方法來檢查集合是否具有相同的值字符串?
+1正確 - MsgBox((s1是s2).ToString)返回false。 –