TextInfo.ToTitleCase(String) Método

Definição

Converte a cadeia de caracteres especificada em maiúsculas e minúsculas (exceto palavras que estão inteiramente em letras maiúsculas, que são consideradas acrônimos).

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 de caracteres a ser convertida em caso de título.

Retornos

A cadeia de caracteres especificada convertida em caso de título.

Exceções

str é null.

Exemplos

O exemplo a seguir altera a maiúscula de uma cadeia de caracteres com base na cultura em inglês (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 títulos apropriados e acrônimos. As cadeias de caracteres são convertidas em maiúsculas e minúsculas 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

Comentários

Geralmente, a caixa de título converte o primeiro caractere de uma palavra em maiúscula e o restante dos caracteres em letras minúsculas. No entanto, atualmente, esse método não fornece maiúsculas e minúsculas para converter uma palavra totalmente maiúscula, como um acrônimo. A tabela a seguir mostra a maneira como o método renderiza várias cadeias de caracteres.

Entrada Linguagem Resultado esperado Resultado real
guerra e paz Inglês Guerra e Paz Guerra e Paz
Por anhalter durch die Galaxis German Por Anhalter durch die Galaxis Por Anhalter Durch Die Galaxis
les naufragés d'ythaq Francês Les Naufragés d'Ythaq Les Naufragés D'ythaq

Conforme ilustrado acima, o ToTitleCase método fornece um comportamento arbitrário de maiúsculas e minúsculas 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. Reservamos o direito de tornar essa API mais lenta no futuro.

A implementação atual do ToTitleCase método produz uma cadeia de caracteres de saída que tem o mesmo comprimento que a cadeia de caracteres de entrada. No entanto, esse comportamento não é garantido e pode mudar em uma implementação futura.

Aplica-se a

Confira também