J'espère que cela devrait être une question facile. En Java je pense que c'est compareTo()
.
Comment comparer 2 variables de chaîne pour déterminer si elles sont identiques?
c'est à dire:
If (string1 = string2 And string3 = string4) Then
'perform operation
Else
'perform another operation
End If
Je suggère d'utiliser la méthode String.Compare . En utilisant cette méthode, vous pouvez également contrôler si elle doit effectuer ou non des comparaisons sensibles à la casse.
Échantillon:
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
Modifier: si vous souhaitez effectuer une recherche insensible à la casse, vous pouvez utiliser le paramètre StringComparison :
If String.Compare(str1, str2, StringComparison.InvariantCultureIgnoreCase) = 0 And String.Compare(str3, str4, StringComparison.InvariantCultureIgnoreCase) = 0 Then
Dans vb.net, vous pouvez réellement comparer les chaînes avec =
. Même si String
est un type de référence, dans vb.net =
on String
a été redéfini pour faire une comparaison sensible à la casse de contents des deux chaînes.
Vous pouvez tester cela avec le code suivant. Notez que j'ai pris l'une des valeurs de l'entrée utilisateur pour m'assurer que le compilateur ne peut pas utiliser la même référence pour les deux variables comme le Java le ferait si les variables étaient définies à partir de la même chaîne Literal. Exécutez le programme, tapez "This" et appuyez sur <Entrée>.
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
Dim MyString As String = "Hello World"
Dim YourString As String = "Hello World"
Console.WriteLine(String.Equals(MyString, YourString))
renvoie un bool True. Cette comparaison est sensible à la casse.
Donc, dans votre exemple,
if String.Equals(string1, string2) and String.Equals(string3, string4) then
' do something
else
' do something else
end if