TextInfo.ToTitleCase(String) Metoda

Definicja

Konwertuje określony ciąg na wielkość liter (z wyjątkiem słów, które są całkowicie pisane wielkimi literami, które są uważane za akronimy).Converts the specified string to title case (except for words that are entirely in uppercase, which are considered to be acronyms).

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

Parametry

str
String

Ciąg do przekonwertowania na wielkość liter.The string to convert to title case.

Zwraca

String

Określony ciąg przekonwertowany na wielkość liter.The specified string converted to title case.

Wyjątki

str to null.str is null.

Przykłady

Poniższy przykład zmienia wielkość liter ciągu w oparciu o kulturę w języku angielskim (Stany Zjednoczone), z nazwą kultury en-US.The following example changes the casing of a string based on the English (United States) culture, with the culture name en-US.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Defines the String* with mixed casing.
   String^ myString = "wAr aNd pEaCe";
   
   // Creates a TextInfo based on the S"en-US" culture.
   CultureInfo^ MyCI = gcnew CultureInfo( "en-US",false );
   TextInfo^ myTI = MyCI->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.

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

*/
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

Poniższy przykład przekazuje każdy ciąg w tablicy do ToTitleCase metody.The following example passes each string in an array to the ToTitleCase method. Ciągi zawierają odpowiednie ciągi tytułu, a także akronimy.The strings include proper title strings as well as acronyms. Ciągi są konwertowane do wielkości liter przy użyciu Konwencji kultury en-US.The strings are converted to title case by using the conventions of the en-US 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

Uwagi

Ogólnie rzecz biorąc tytuł konwertuje pierwszy znak wyrazu na wielkie litery i resztę znaków na małe litery.Generally, title casing converts the first character of a word to uppercase and the rest of the characters to lowercase. Jednak ta metoda obecnie nie zapewnia właściwej wielkości liter, aby przekonwertować wyraz, który jest całkowicie pisany wielkimi literami, na przykład akronimem.However, this method does not currently provide proper casing to convert a word that is entirely uppercase, such as an acronym. W poniższej tabeli przedstawiono sposób renderowania kilku ciągów przez metodę.The following table shows the way the method renders several strings.

Dane wejścioweInput JęzykLanguage Oczekiwany wynikExpected result Rzeczywisty wynikActual result
wojny i pokojuwar and peace AngielskiEnglish Wojny i pokojuWar and Peace Wojny i pokojuWar And Peace
Na Anhalter durch Die GalaxisPer anhalter durch die Galaxis NiemieckiGerman Na Anhalter durch Die GalaxisPer Anhalter durch die Galaxis Na Anhalter durch Die GalaxisPer Anhalter Durch Die Galaxis
Les Naufragés d'ythaqles naufragés d'ythaq FrancuskiFrench Les Naufragés d'YthaqLes Naufragés d'Ythaq Les Naufragés D'ythaqLes Naufragés D'ythaq

Jak pokazano powyżej, ToTitleCase Metoda zapewnia dowolne zachowanie dotyczące wielkości liter, które nie jest koniecznie prawidłowym językiem.As illustrated above, the ToTitleCase method provides an arbitrary casing behavior which is not necessarily linguistically correct. Rozwiązanie z prawidłowym językiem wymagało dodatkowych reguł, a bieżący algorytm jest nieco łatwiejszy i szybszy.A linguistically correct solution would require additional rules, and the current algorithm is somewhat simpler and faster. Firma Microsoft zastrzega sobie prawo do wolniejszego wprowadzania tego interfejsu API.We reserve the right to make this API slower in the future.

Bieżąca implementacja ToTitleCase metody daje ciąg wyjściowy, który ma taką samą długość jak ciąg wejściowy.The current implementation of the ToTitleCase method yields an output string that is the same length as the input string. Jednak takie zachowanie nie jest gwarantowane i może ulec zmianie w przyszłych wdrożeniach.However, this behavior is not guaranteed and could change in a future implementation.

Dotyczy

Zobacz też