TextInfo.ToTitleCase(String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.