Я не уверен, работает ли это или нет, но если это произойдет, это будет очень плохая идея для использования.Операторы Is
и IsNot
в VB.Net выполняют сравнительные сравнения.При работе со значениями String
вы почти всегда хотите выполнять сравнение значений, которое выполняется с помощью =
и <>
.
. Сравнительные сравнения говорят вам, указывает ли он буквально на один и тот же объект.В .Net очень возможно, что одна и та же одинаковая строка будет захвачена в 2-х объектах, что допускает запутанные случаи, подобные следующему
Function CreateFoo() As String
return "foo"
End Function
Dim str1 = "foo"
Dim str2 = CreateFoo()
if str1 Is str2 Then
' This is possible
Else
' This is also possible
End If
Сравнение значений обеспечивает гораздо больше здравого смысла здесь
Dim str1 = "foo"
Dim str2 = CreateFoo()
if str1 = str2 Then
' This will run
Else
' This is simply not possible
End If