TextInfo.ToTitleCase(String) Metod

Definition

Konverterar den angivna strängen till rubrikfall (förutom ord som är helt i versaler, som anses vara förkortningar).

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

Parametrar

str
String

Strängen som ska konverteras till rubrikfall.

Returer

Den angivna strängen konverterades till rubrikfall.

Undantag

str är null.

Exempel

I följande exempel ändras höljet för en sträng baserat på den engelska (United States) kulturen, med kulturnamnet en-US.

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

I följande exempel skickas varje sträng i en matris till ToTitleCase metoden. Strängarna innehåller korrekta rubriksträngar och förkortningar. Strängarna konverteras till rubrikfall med hjälp av konventionerna i en-US kultur.

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

Kommentarer

I allmänhet konverterar rubrikhöljet det första tecknet i ett ord till versaler och resten av tecknen till gemener. Den här metoden tillhandahåller dock för närvarande inte rätt hölje för att konvertera ett ord som är helt versalt, till exempel en akronym. I följande tabell visas hur metoden renderar flera strängar.

Input Språk Förväntat resultat Verkligt resultat
krig och fred Engelska Krig och fred Krig och fred
Per anhalter durch die Galaxis Tyska Per Anhalter durch die Galaxis Per Anhalter Durch Die Galaxis
les naufragés d'ythaq Franska Les Naufragés d'Ythaq Les Naufragés D'ythaq

Som illustreras ovan ToTitleCase ger metoden ett godtyckligt höljebeteende som inte nödvändigtvis är språkligt korrekt. En språkligt korrekt lösning skulle kräva ytterligare regler, och den aktuella algoritmen är något enklare och snabbare. Vi förbehåller oss rätten att göra detta API långsammare i framtiden.

Den aktuella implementeringen av ToTitleCase metoden ger en utdatasträng som är lika lång som indatasträngen. Det här beteendet är dock inte garanterat och kan ändras i en framtida implementering.

Gäller för

Se även