Ändern der Groß-/Kleinschreibung in .NETChanging Case in .NET

Wenn Sie eine Anwendung schreiben, die Benutzereingaben akzeptiert, können Sie nicht sicher sein, ob die Daten in Groß- oder Kleinschreibung eingegeben werden.If you write an application that accepts input from a user, you can never be sure what case he or she will use to enter the data. Häufig möchten Sie, dass Zeichenfolgen in einheitlicher Schreibung vorliegen, insbesondere, wenn sie in der Benutzeroberfläche angezeigt werden.Often, you want strings to be cased consistently, particularly if you are displaying them in the user interface. In der folgenden Tabelle sind drei Methoden zur Änderung der Groß-/Kleinschreibung beschrieben.The following table describes three case-changing methods. Die ersten beiden Methoden stellen eine Überladung bereit, die eine Kultur akzeptiert.The first two methods provide an overload that accepts a culture.

MethodennameMethod name MitUse
String.ToUpper Konvertiert alle Zeichen in einer Zeichenfolge in Großbuchstaben.Converts all characters in a string to uppercase.
String.ToLower Konvertiert alle Zeichen in einer Zeichenfolge in Kleinbuchstaben.Converts all characters in a string to lowercase.
TextInfo.ToTitleCase Konvertiert eine Zeichenfolge in Titelschreibung.Converts a string to title case.

Warnung

Beachten Sie, dass die String.ToUpper- und die String.ToLower-Methode nicht dazu verwendet werden sollten, Zeichenfolgen zu konvertieren, um diese zu vergleichen oder auf Gleichheit zu testen.Note that the String.ToUpper and String.ToLower methods should not be used to convert strings in order to compare them or test them for equality. Weitere Informationen finden Sie im Abschnitt Vergleichen von Zeichenfolgen in gemischter Schreibung.For more information, see the Comparing strings of mixed case section.

Vergleichen von Zeichenfolgen in gemischter SchreibungComparing strings of mixed case

Wenn Sie Zeichenfolgen in gemischter Schreibung vergleichen möchten, um deren Reihenfolge zu ermitteln, rufen Sie eine der Überladungen der String.CompareTo-Methode mit einem comparisonType-Parameter auf, und geben Sie entweder StringComparison.CurrentCultureIgnoreCase oder StringComparison.InvariantCultureIgnoreCase oder StringComparison.OrdinalIgnoreCase als Wert für das comparisonType-Argument an.To compare strings of mixed case to determine their ordering, call one of the overloads of the String.CompareTo method with a comparisonType parameter, and provide a value of either StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase, or StringComparison.OrdinalIgnoreCase for the comparisonType argument. Soll für einen Vergleich eine bestimmte Kultur verwendet werden, die nicht die aktuelle Kultur ist, rufen Sie eine Überladung der String.CompareTo-Methode mit einem culture- und einem options-Parameter auf, und geben Sie CompareOptions.IgnoreCase als Wert für das options-Argument an.For a comparison using a specific culture other than the current culture, call an overload of the String.CompareTo method with both a culture and options parameter, and provide a value of CompareOptions.IgnoreCase as the options argument.

Wenn Sie Zeichenfolgen in gemischter Schreibung vergleichen möchten, um zu ermitteln, ob sie gleich sind, rufen Sie eine der Überladungen der String.Equals-Methode mit einem comparisonType-Parameter auf, und geben Sie entweder StringComparison.CurrentCultureIgnoreCase oder StringComparison.InvariantCultureIgnoreCase oder StringComparison.OrdinalIgnoreCase als Wert für das comparisonType-Argument an.To compare strings of mixed case to determine whether they are equal, their, call one of the overloads of the String.Equals method with a comparisonType parameter, and provide a value of either StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase, or StringComparison.OrdinalIgnoreCase for the comparisonType argument.

Weitere Informationen finden Sie unter Empfohlene Vorgehensweisen für die Verwendung von Zeichenfolgen in .NET Framework.For more information, see Best Practices for Using Strings.

ToUpperToUpper

Die String.ToUpper-Methode ändert alle Zeichen in einer Zeichenfolge in Großbuchstaben.The String.ToUpper method changes all characters in a string to uppercase. Im folgenden Beispiel wird die Zeichenfolge „Hello World!“The following example converts the string "Hello World!" von gemischter Schreibung in Großbuchstaben konvertiert.from mixed case to uppercase.

string properString = "Hello World!";
Console.WriteLine(properString.ToUpper());
// This example displays the following output:
//       HELLO WORLD!
Dim MyString As String = "Hello World!"
Console.WriteLine(MyString.ToUpper())
' This example displays the following output:
'       HELLO WORLD!

Das vorhergehende Beispiel ist standardmäßig kulturabhängig, d. h., in ihm werden hinsichtlich Groß- und Kleinschreibung die Konventionen der aktuellen Kultur verwendet.The preceding example is culture-sensitive by default; it applies the casing conventions of the current culture. Wenn Sie eine kulturunabhängige Änderung der Groß-/Kleinschreibung ausführen oder die Schreibungskonventionen einer bestimmten Kultur anwenden möchten, verwenden Sie die String.ToUpper(CultureInfo)-Methodenüberladung, und geben Sie den Wert CultureInfo.InvariantCulture oder ein System.Globalization.CultureInfo-Objekt, das der angegebenen Kultur entspricht, für den culture-Parameter an.To perform a culture-insensitive case change or to apply the casing conventions of a particular culture, use the String.ToUpper(CultureInfo) method overload and supply a value of CultureInfo.InvariantCulture or a System.Globalization.CultureInfo object that represents the specified culture to the culture parameter. Ein Beispiel, in dem gezeigt wird, wie die ToUpper-Methode verwendet wird, um eine kulturunabhängige Änderung der Groß-/Kleinschreibung auszuführen, finden Sie unter Durchführen kulturunabhängiger Schreibungsänderungen.For an example that demonstrates how to use the ToUpper method to perform a culture-insensitive case change, see Performing Culture-Insensitive Case Changes.

ToLowerToLower

Die String.ToLower-Methode entspricht der vorherigen Methode mit dem Unterschied, dass sie alle Zeichen in einer Zeichenfolge in Kleinbuchstaben konvertiert.The String.ToLower method is similar to the previous method, but instead converts all the characters in a string to lowercase. Im folgenden Beispiel wird die Zeichenfolge „Hello World!“The following example converts the string "Hello World!" in Kleinbuchstaben konvertiert.to lowercase.

string properString = "Hello World!";
Console.WriteLine(properString.ToLower());
// This example displays the following output:
//       hello world!
Dim MyString As String = "Hello World!"
Console.WriteLine(MyString.ToLower())
' This example displays the following output:
'       hello world!

Das vorhergehende Beispiel ist standardmäßig kulturabhängig, d. h., in ihm werden hinsichtlich Groß- und Kleinschreibung die Konventionen der aktuellen Kultur verwendet.The preceding example is culture-sensitive by default; it applies the casing conventions of the current culture. Wenn Sie eine kulturunabhängige Änderung der Groß-/Kleinschreibung ausführen oder die Schreibungskonventionen einer bestimmten Kultur anwenden möchten, verwenden Sie die String.ToLower(CultureInfo)-Methodenüberladung, und geben Sie den Wert CultureInfo.InvariantCulture oder ein System.Globalization.CultureInfo-Objekt, das der angegebenen Kultur entspricht, für den culture-Parameter an.To perform a culture-insensitive case change or to apply the casing conventions of a particular culture, use the String.ToLower(CultureInfo) method overload and supply a value of CultureInfo.InvariantCulture or a System.Globalization.CultureInfo object that represents the specified culture to the culture parameter. Ein Beispiel, in dem gezeigt wird, wie die ToLower(CultureInfo)-Methode verwendet wird, um eine kulturunabhängige Änderung der Groß-/Kleinschreibung auszuführen, finden Sie unter Durchführen kulturunabhängiger Schreibungsänderungen.For an example that demonstrates how to use the ToLower(CultureInfo) method to perform a culture-insensitive case change, see Performing Culture-Insensitive Case Changes.

ToTitleCaseToTitleCase

Die TextInfo.ToTitleCase-Methode konvertiert das erste Zeichen jedes Worts in einen Großbuchstaben und die übrigen Zeichen in Kleinbuchstaben.The TextInfo.ToTitleCase converts the first character of each word to uppercase and the remaining characters to lowercase. Wörter, die vollständig in Großbuchstaben vorliegen, werden als Akronyme angesehen und nicht konvertiert.However, words that are entirely uppercase are assumed to be acronyms and are not converted.

Die TextInfo.ToTitleCase-Methode ist kulturabhängig, d. h., sie verwendet die Schreibungskonventionen einer bestimmten Kultur.The TextInfo.ToTitleCase method is culture-sensitive; that is, it uses the casing conventions of a particular culture. Um die Methode aufzurufen, rufen Sie zuerst das TextInfo-Objekt, das die Schreibungskonventionen der bestimmten Kultur angibt, aus der CultureInfo.TextInfo-Eigenschaft dieser Kultur ab.In order to call the method, you first retrieve the TextInfo object that represents the casing conventions of the particular culture from the CultureInfo.TextInfo property of a particular culture.

Im folgenden Beispiel wird jede Zeichenfolge in einem Array an die TextInfo.ToTitleCase-Methode übergeben.The following example passes each string in an array to the TextInfo.ToTitleCase method. Die Zeichenfolgen enthalten sowohl Titelzeichenfolgen als auch Akronyme.The strings include proper title strings as well as acronyms. Die Zeichenfolgen werden in Titelschreibung konvertiert, indem die Schreibungskonventionen der Kultur Englisch (USA) verwendet werden.The strings are converted to title case by using the casing conventions of the English (United States) culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values = { "a tale of two cities", "gROWL to the rescue",
                          "inside the US government", "sports and MLB baseball",
                          "The Return of Sherlock Holmes", "UNICEF and children"};
                                 
      TextInfo ti = CultureInfo.CurrentCulture.TextInfo;
      foreach (var value in values)
         Console.WriteLine("{0} --> {1}", value, ti.ToTitleCase(value));
   }
}
// The example displays the following output:
//    a tale of two cities --> A Tale Of Two Cities
//    gROWL to the rescue --> Growl To The Rescue
//    inside the US government --> Inside The US Government
//    sports and MLB baseball --> Sports And MLB Baseball
//    The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
//    UNICEF and children --> UNICEF And Children
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { "a tale of two cities", "gROWL to the rescue",
                                 "inside the US government", "sports and MLB baseball",
                                 "The Return of Sherlock Holmes", "UNICEF and children"}
                                 
      Dim ti As TextInfo = CultureInfo.CurrentCulture.TextInfo
      For Each value In values
         Console.WriteLine("{0} --> {1}", value, ti.ToTitleCase(value))
      Next
   End Sub
End Module
' The example displays the following output:
'    a tale of two cities --> A Tale Of Two Cities
'    gROWL to the rescue --> Growl To The Rescue
'    inside the US government --> Inside The US Government
'    sports and MLB baseball --> Sports And MLB Baseball
'    The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
'    UNICEF and children --> UNICEF And Children

Beachten Sie, dass die TextInfo.ToTitleCase-Methode, obwohl sie kulturabhängig ist, keine linguistisch korrekten Regeln für Groß-/Kleinschreibung bereitstellt.Note that although it is culture-sensitive, the TextInfo.ToTitleCase method does not provide linguistically correct casing rules. Beispielsweise konvertiert die Methode die Zeichenfolge "a tale of two cities" im vorherigen Beispiel in "A Tale Of Two Cities".For instance, in the previous example, the method converts "a tale of two cities" to "A Tale Of Two Cities". Die linguistisch korrekte Schreibung für die Kultur "en-US" ist aber "A Tale of Two Cities".However, the linguistically correct title casing for the en-US culture is "A Tale of Two Cities."

Siehe auchSee also