希望这应该是一个简单的问题。在java中,我认为它是compareTo()
。
如何比较2个字符串变量以确定它们是否相同?
即:
If (string1 = string2 And string3 = string4) Then
'perform operation
Else
'perform another operation
End If
答案 0 :(得分:19)
我建议使用String.Compare方法。使用该方法,您还可以控制是否让它执行区分大小写的比较。
样品:
Dim str1 As String = "String one"
Dim str2 As String = str1
Dim str3 As String = "String three"
Dim str4 As String = str3
If String.Compare(str1, str2) = 0 And String.Compare(str3, str4) = 0 Then
MessageBox.Show("str1 = str2 And str3 = str4")
Else
MessageBox.Show("Else")
End If
编辑:如果您要执行不区分大小写的搜索,可以使用StringComparison参数:
If String.Compare(str1, str2, StringComparison.InvariantCultureIgnoreCase) = 0 And String.Compare(str3, str4, StringComparison.InvariantCultureIgnoreCase) = 0 Then
答案 1 :(得分:11)
Dim MyString As String = "Hello World"
Dim YourString As String = "Hello World"
Console.WriteLine(String.Equals(MyString, YourString))
返回bool True。这种比较区分大小写。
所以在你的例子中,
if String.Equals(string1, string2) and String.Equals(string3, string4) then
' do something
else
' do something else
end if
答案 2 :(得分:11)
在vb.net中,您实际上可以将字符串与=
进行比较。即使String
是引用类型,但在=
上的String
已重新定义,以对两个字符串的内容进行区分大小写的比较
您可以使用以下代码对此进行测试。请注意,我从用户输入中获取了一个值,以确保编译器不能对两个变量使用相同的引用,如果从同一个字符串Literal定义变量,Java编译器将使用相同的引用。运行程序,输入“This”并按< Enter>。
Sub Main()
Dim a As String = New String("This")
Dim b As String
b = Console.ReadLine()
If a = b Then
Console.WriteLine("They are equal")
Else
Console.WriteLine("Not equal")
End If
Console.ReadLine()
End Sub
答案 3 :(得分:-1)
我知道这已经得到了回答,但是在2013年以后的VB.net中(我个人使用的最低)你可以将字符串与=
运算符进行比较。这是最简单的方法。
基本上是这样的:
If string1 = string2 Then
'do a thing
End If
答案 4 :(得分:-1)
我认为这个String.Equals就是你所需要的。
Dim aaa = "12/31"
Dim a = String.Equals(aaa, "06/30")
a将返回false。
答案 5 :(得分:-3)
If String.Compare(string1,string2,True) Then
'perform operation
EndIf