TextInfo.ToTitleCase(String) Método

Definição

Converte a cadeia especificada em maiúsculas (exceto para palavras que estejam inteiramente em maiúsculas, que são consideradas siglas).

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

Parâmetros

str
String

A cadeia para converter em maiúscula do título.

Devoluções

A cadeia especificada converteu-se em maiúscula de título.

Exceções

str é null.

Exemplos

O exemplo seguinte altera o revestimento de uma corda com base na cultura inglesa (Estados Unidos), com o nome da cultura 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

O exemplo a seguir passa cada cadeia de caracteres em uma matriz para o ToTitleCase método. As cadeias de caracteres incluem cadeias de caracteres de título adequadas, bem como siglas. As cordas são convertidas para maiúsculas de título usando as convenções da cultura en-US.

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

Observações

Geralmente, o título maiúsculo converte o primeiro carácter de uma palavra em maiúsculas e o resto dos caracteres em minúsculas. No entanto, este método atualmente não fornece uma maiúscula adequada para converter uma palavra que seja totalmente maiúscula, como um acrónimo. A tabela seguinte mostra a forma como o método renderiza várias cadeias.

Input Linguagem Resultado esperado Resultado real
Guerra e paz Inglês Guerra e Paz Guerra e Paz
Per anhalter durch die Galaxis Alemão Per Anhalter durch die Galaxis Per Anhalter Durch Die Galaxis
Les Naufragés d'Ythaq Francês Les Naufragés d'Ythaq Les Naufragés D'ythaq

Como ilustrado acima, o ToTitleCase método fornece um comportamento arbitrário de carcaça que não é necessariamente linguisticamente correto. Uma solução linguisticamente correta exigiria regras adicionais, e o algoritmo atual é um pouco mais simples e rápido. Reservamo-nos o direito de tornar esta API mais lenta no futuro.

A implementação atual do ToTitleCase método produz uma cadeia de saída com o mesmo comprimento da cadeia de entrada. No entanto, este comportamento não é garantido e pode mudar numa implementação futura.

Aplica-se a

Ver também