Umformung eines Strings in Kleinbuchstaben

C#:
Umformung eines Strings in Kleinbuchstaben

So geht’s:

string original = "Hallo Welt!";
string klein = original.ToLowerInvariant();

Console.WriteLine(klein);  // Ausgabe: hallo welt!

Das ToLowerInvariant() berücksichtigt keine lokale kulturelle Unterschiede. Es gibt aber auch ToLower(), das die Kultur des aktuellen Threads berücksichtigt. Hier ein Beispiel:

string original = "Straße";
string kleinInvariant = original.ToLowerInvariant();
string klein = original.ToLower();

Console.WriteLine(kleinInvariant); // Ausgabe: strasse
Console.WriteLine(klein); // Ausgabe: straße (in deutscher Kultur)

Tiefgang:

Früher, als die internationale Softwareentwicklung nicht so verbreitet war, gab es meist nur ToLower(), das abhängig von der Kultur des Betriebssystems war. Heute ist die invariante Methode wichtig, weil Software global genutzt wird.

Alternativen: Neben .ToLower() und .ToLowerInvariant() kann man mit String.Compare() und String.Equals() mit dem Parameter StringComparison.OrdinalIgnoreCase vergleichen, ohne den String zu verändern.

Implementierungsdetails: .ToLowerInvariant() und .ToLower() benutzen beide die Unicode-Regeln für die Kleinbuchstaben-Umwandlung. Sie durchlaufen den String und ersetzen jeden Großbuchstaben durch seinen kleinbuchstabigen Gegenpart.

Siehe auch: