TextInfo.ToTitleCase(String) Methode

Definition

Konvertiert die angegebene Zeichenfolge in die Groß-/Kleinschreibung (mit Ausnahme von Wörtern, die vollständig in Großbuchstaben enthalten sind, die als Akronyme gelten).

public:
 System::String ^ ToTitleCase(System::String ^ str);
public string ToTitleCase(string str);
member this.ToTitleCase : string -> string
Public Function ToTitleCase (str As String) As String

Parameter

str
String

Die Zeichenfolge, die in die Groß-/Kleinschreibung konvertiert werden soll.

Gibt zurück

Die angegebene Zeichenfolge, die in die Groß-/Kleinschreibung des Titels konvertiert wurde.

Ausnahmen

str ist null.

Beispiele

Im folgenden Beispiel wird die Groß-/Kleinschreibung einer Zeichenfolge basierend auf der Englisch-Kultur (USA) mit dem Kulturnamen en-USgeändert.

using System;
using System.Globalization;

public class SamplesTextInfo  {

   public static void Main()  {

      // Defines the string with mixed casing.
      string myString = "wAr aNd pEaCe";

      // Creates a TextInfo based on the "en-US" culture.
      TextInfo myTI = new CultureInfo("en-US",false).TextInfo;

      // Changes a string to lowercase.
      Console.WriteLine( "\"{0}\" to lowercase: {1}", myString, myTI.ToLower( myString ) );

      // Changes a string to uppercase.
      Console.WriteLine( "\"{0}\" to uppercase: {1}", myString, myTI.ToUpper( myString ) );

      // Changes a string to titlecase.
      Console.WriteLine( "\"{0}\" to titlecase: {1}", myString, myTI.ToTitleCase( myString ) );
   }
}

/*
This code produces the following output.

"wAr aNd pEaCe" to lowercase: war and peace
"wAr aNd pEaCe" to uppercase: WAR AND PEACE
"wAr aNd pEaCe" to titlecase: War And Peace

*/
Imports System.Globalization

Public Class SamplesTextInfo

   Public Shared Sub Main()

      ' Defines the string with mixed casing.
      Dim myString As String = "wAr aNd pEaCe"

      ' Creates a TextInfo based on the "en-US" culture.
      Dim myTI As TextInfo = New CultureInfo("en-US", False).TextInfo

      ' Changes a string to lowercase.
      Console.WriteLine("""{0}"" to lowercase: {1}", myString, myTI.ToLower(myString))

      ' Changes a string to uppercase.
      Console.WriteLine("""{0}"" to uppercase: {1}", myString, myTI.ToUpper(myString))

      ' Changes a string to titlecase.
      Console.WriteLine("""{0}"" to titlecase: {1}", myString, myTI.ToTitleCase(myString))

   End Sub

End Class


'This code produces the following output.
'
'"wAr aNd pEaCe" to lowercase: war and peace
'"wAr aNd pEaCe" to uppercase: WAR AND PEACE
'"wAr aNd pEaCe" to titlecase: War And Peace

Im folgenden Beispiel wird jede Zeichenfolge in einem Array an die ToTitleCase Methode übergeben. Die Zeichenfolgen enthalten korrekte Titelstrings wie auch Akronyme. Die Zeichenfolgen werden mithilfe der Konventionen der en-US Kultur in den Titelfall konvertiert.

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

Hinweise

Im Allgemeinen konvertiert die Groß-/Kleinschreibung des Titels das erste Zeichen eines Worts in Großbuchstaben und die restlichen Zeichen in Kleinbuchstaben. Diese Methode stellt jedoch zurzeit keine ordnungsgemäße Groß-/Kleinschreibung zum Konvertieren eines Worts bereit, das vollständig groß geschrieben ist, z. B. ein Akronym. Die folgende Tabelle zeigt, wie die Methode mehrere Zeichenfolgen rendert.

Input Sprache Erwartetes Ergebnis Ist-Ergebnis
Krieg und Frieden English Krieg und Frieden Krieg und Frieden
Per anhalter durch die Galaxis Deutsch Per Anhalter durch die Galaxis Per Anhalter Durch Die Galaxis
les naufragés d'ythaq Französisch Les Naufragés d'Ythaq Les Naufragés D'ythaq

Wie oben dargestellt, stellt die ToTitleCase Methode ein beliebiges Groß-/Kleinschreibungsverhalten bereit, das nicht unbedingt sprachlich korrekt ist. Eine sprachlich korrekte Lösung würde zusätzliche Regeln erfordern, und der aktuelle Algorithmus ist etwas einfacher und schneller. Wir behalten uns das Recht vor, diese API künftig langsamer zu machen.

Die aktuelle Implementierung der ToTitleCase Methode liefert eine Ausgabezeichenfolge, die die gleiche Länge wie die Eingabezeichenfolge aufweist. Dieses Verhalten ist jedoch nicht garantiert und könnte sich in einer zukünftigen Implementierung ändern.

Gilt für:

Weitere Informationen