String-Vergleich mit Groß-/Kleinschreibung in C#
Beim Vergleich zweier Strings in C# ist der Umgang mit Groß-/Kleinschreibung eine häufige Anforderung. Es stehen mehrere Optionen zur Verfügung, aber jede bringt ihre eigenen Leistungsaspekte mit sich. Lassen Sie uns zwei beliebte Methoden untersuchen und eine effizientere Alternative bereitstellen.
Methode 1: String.Equals mit StringComparison.InvariantCultureIgnoreCase
Diese Methode ist unkompliziert, aber möglicherweise langsamer. Es vergleicht Zeichenfolgen anhand der InvariantCultureIgnoreCase-Kriterien, wodurch die Groß-/Kleinschreibung nicht beachtet wird, jedoch der Mehraufwand an kulturellen Überlegungen entsteht.
string val = "AStringValue"; if (val.Equals("astringvalue", StringComparison.InvariantCultureIgnoreCase))
Methode 2: String.ToLowerCase mit ==
Diese Methode scheint zwar schneller zu sein, da sie die kulturelle Verarbeitung eliminiert, hat aber auch einen Nachteil. Durch das Konvertieren einer Zeichenfolge in Kleinbuchstaben wird eine neue Zeichenfolgeninstanz erstellt, die zusätzlichen Speicher verbraucht und möglicherweise die Leistung bei der Verarbeitung großer Zeichenfolgen beeinträchtigt.
if (val.ToLowerCase() == "astringvalue")
Eine effizientere Alternative: String.Equals mit StringComparison.OrdinalIgnoreCase
Die optimale Lösung ist die Verwendung von StringComparison.OrdinalIgnoreCase flag:
string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase)
Ordinale Vergleiche umgehen kulturelle Überlegungen und sind deutlich schneller. Sie gehen jedoch davon aus, dass beide Zeichenfolgen dieselbe Zeichenkodierung verwenden, und können andernfalls zu unerwarteten Ergebnissen führen.
Wenn Sie dieselbe Zeichenfolge häufig mit anderen vergleichen, kann eine vorherige Konvertierung in Kleinbuchstaben die Effizienz verbessern. Aber denken Sie daran: Messen und testen Sie Ihren Code, bevor Sie Optimierungen vornehmen, um greifbare Vorteile sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie vergleiche ich Strings in C# effizient und ohne Berücksichtigung der Groß-/Kleinschreibung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!