Strings vergleichen
-
Wie kann ich mit C# (VS 2005) am einfachsten zwei Variablen vom Typ String vergleichen. Ich hatte folgendes probiert:
string a = "X901"; string b = "X902"; if (a < b) ... else ...
Hierbei sagt mir der Compiler:
"Der Operator "<" kann nicht auf Operanden vom Typ "string" und "string" angewendet werden."Die Fehlermeldung vom Compiler habe ich verstanden. Aber wie kann ich Strings entsprechend alphabetisch vergleichen? Muss ich die Strings erst in ein Char-Array kopieren und dann jedes einzelne Element des einen Arrays mit dem jeweiligen andren Array-Element mit < vergleichen?
-
-
Geht es nicht einfacher?
Gibt es eine Klasse?
-
string1.CompareTo(string2) > 0
-
Das ist doch das einfachste was es gibt.Wozu eine klassen die viel mehr speicher frisst, wenn man doch die Methode am objekt dran hat?!
-
Probiers mal so:
string a = "X901"; string b = "X902"; if (a == b) ...// ist gleich else ...// ist nicht gleich
-
string.equals()
-
Ich will nicht auf Gleichheit oder Ungleichheit prüfen, sondern alphabetisch auf größer bzw. kleiner schauen.
Also A wäre kleiner als B, und X901 ist kleiner als X902 usw. Ich bräuchte also die Operatoren "<" bzw. ">",
welche laut Compilerfehlermeldung ja leider nicht mit String-Variablen funktionieren.Der Link von oneill5000 zeigt ev. in die richtige Richtung. Nur dachte ich, dass es eine einfachere Möglichkeit gibt.
-
Der Hinweis auf s1.CompareTo(s2) wurde bereits gebracht. Einfacher wäre m.E. nur die Operatoren, die es ja wie Du schon festgestellt hast nicht gibt.
-
Wenn einer oder beide Strings auch null sein könnten, dann verwende besser die statische Methode:
if(String.CompareTo(s1, s2) > 0) ...