Leer en inglés

Compartir a través de


TextInfo.ToTitleCase(String) Método

Definición

Convierte la cadena especificada a mayúscula inicial (excepto las palabras que están totalmente en mayúsculas, que se consideran acrónimos).

C#
public string ToTitleCase (string str);

Parámetros

str
String

Cadena que se va a convertir en mayúscula inicial.

Devoluciones

Cadena especificada convertida en mayúscula inicial.

Excepciones

str es null.

Ejemplos

En el ejemplo siguiente se cambia el uso de mayúsculas y minúsculas de una cadena basada en la referencia cultural inglés (Estados Unidos), con el nombre de referencia cultural en-US.

C#
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

*/

En el ejemplo siguiente, se pasa cada cadena de una matriz al método ToTitleCase. Las cadenas incluyen cadenas de título correctas así como acrónimos. Las cadenas se convierten en mayúsculas y minúsculas mediante las convenciones de la referencia cultural en-US.

C#
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

Comentarios

Por lo general, el uso de mayúsculas y minúsculas convierte el primer carácter de una palabra en mayúsculas y el resto de los caracteres en minúsculas. Sin embargo, este método no proporciona actualmente el uso adecuado de mayúsculas y minúsculas para convertir una palabra totalmente mayúscula, como un acrónimo. En la tabla siguiente se muestra la forma en que el método representa varias cadenas.

Entrada Idioma Resultado esperado Resultado real
guerra y paz Inglés Guerra y paz Guerra y paz
Per anhalter durch die Galaxis Alemán 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 se ha mostrado anteriormente, el ToTitleCase método proporciona un comportamiento arbitrario de mayúsculas y minúsculas que no es necesariamente correcto lingüísticamente. Una solución lingüísticamente correcta requeriría reglas adicionales y el algoritmo actual es algo más sencillo y rápido. Nos reservamos el derecho de que esta API sea más lenta en el futuro.

La implementación actual del ToTitleCase método produce una cadena de salida que es la misma longitud que la cadena de entrada. Sin embargo, este comportamiento no está garantizado y podría cambiar en una implementación futura.

Se aplica a

Producto Versiones
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Consulte también