Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

Cambiar mayúsculas y minúsculas en .NET Framework

 

Si escribe una aplicación que acepta la entrada de un usuario, nunca podrá estar seguro de si usará mayúsculas o minúsculas para escribir los datos. Normalmente querrá que las cadenas usen mayúsculas y minúsculas de forma coherente, especialmente si se van a mostrar en la interfaz de usuario. En la tabla siguiente se describen tres métodos para cambiar las mayúsculas y minúsculas. Los dos primeros métodos proporcionan una sobrecarga que acepta una referencia cultural.

Nombre del método

Uso

String.ToUpper

Convierte todos los caracteres de una cadena a mayúsculas.

String.ToLower

Convierte todos los caracteres de una cadena a minúsculas.

TextInfo.ToTitleCase

Convierte una cadena a mayúsculas de tipo título.

System_CAPS_warningAdvertencia

Tenga en cuenta que los métodos String.ToUpper y String.ToLower no deben usarse para convertir cadenas para compararlas ni para comprobar su igualdad. Para obtener más información, consulte la sección Comparar cadenas con mayúsculas y minúsculas mezcladas.

Para comparar cadenas con mayúsculas y minúsculas mezcladas para determinar su orden, llame a una de las sobrecargas del método String.CompareTo con un parámetro comparisonType y proporcione un valor StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase o StringComparison.OrdinalIgnoreCase para el argumento comparisonType. Para realizar una comparación usando una referencia cultural específica que no sea la referencia cultural actual, llame a una sobrecarga del método String.CompareTo con los parámetros culture y options, y proporcione el valor CompareOptions.IgnoreCase como el argumento options.

Para comparar cadenas con mayúsculas y minúsculas mezcladas para determinar si son iguales, llame a una de las sobrecargas del método String.Equals con un parámetro comparisonType y proporcione un valor StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase o StringComparison.OrdinalIgnoreCase para el argumento comparisonType.

Para obtener más información, consulte Procedimientos recomendados para el uso de cadenas en .NET Framework.

El método String.ToUpper convierte todos los caracteres de una cadena a mayúsculas. En el siguiente ejemplo se convierte la cadena "Hello World!" de mayúsculas y minúsculas mezcladas a mayúsculas.

string properString = "Hello World!";
Console.WriteLine(properString.ToUpper());
// This example displays the following output:
//       HELLO WORLD!

El ejemplo anterior tiene en cuenta la referencia cultural de forma predeterminada; aplica las convenciones de mayúsculas y minúsculas de la referencia cultural actual. Para realizar un cambio de mayúsculas y minúsculas sin tener en cuenta la referencia cultural o para aplicar las convenciones de mayúsculas y minúsculas de una referencia cultural determinada, use la sobrecarga del método String.ToUpper(CultureInfo) y proporcione un valor CultureInfo.InvariantCulture o un objeto System.Globalization.CultureInfo que representa la referencia cultural especificada al parámetro culture. Para obtener un ejemplo que muestra cómo usar el método ToUpper para realizar un cambio de mayúsculas y minúsculas sin tener en cuenta la referencia cultural, consulte Realizar cambios de mayúsculas y minúsculas sin tener en cuenta la referencia cultural.

El método String.ToLower es similar al método anterior, pero en su lugar convierte todos los caracteres de una cadena a minúsculas. En el siguiente ejemplo se convierte la cadena "Hello World!" a minúsculas.

string properString = "Hello World!";
Console.WriteLine(properString.ToLower());
// This example displays the following output:
//       hello world!

El ejemplo anterior tiene en cuenta la referencia cultural de forma predeterminada; aplica las convenciones de mayúsculas y minúsculas de la referencia cultural actual. Para realizar un cambio de mayúsculas y minúsculas sin tener en cuenta la referencia cultural o para aplicar las convenciones de mayúsculas y minúsculas de una referencia cultural determinada, use la sobrecarga del método String.ToLower(CultureInfo) y proporcione un valor CultureInfo.InvariantCulture o un objeto System.Globalization.CultureInfo que representa la referencia cultural especificada al parámetro culture. Para obtener un ejemplo que muestra cómo usar el método ToLower(CultureInfo) para realizar un cambio de mayúsculas y minúsculas sin tener en cuenta la referencia cultural, consulte Realizar cambios de mayúsculas y minúsculas sin tener en cuenta la referencia cultural.

El método TextInfo.ToTitleCase convierte el primer carácter de cada palabra a mayúsculas y el resto de los caracteres a minúsculas. Sin embargo, se da por hecho que las palabras que están completamente en mayúsculas son siglas y no se convierten.

El método TextInfo.ToTitleCase tiene en cuenta la referencia cultural; es decir, usa las convenciones de mayúsculas y minúsculas de una referencia cultural determinada. Para llamar al método, recupere primero el objeto TextInfo que representa las convenciones de mayúsculas y minúsculas de la referencia cultural determinada a partir de la propiedad CultureInfo.TextInfo de una referencia cultural determinada.

En el ejemplo siguiente, se pasa cada cadena de una matriz al método TextInfo.ToTitleCase. Las cadenas incluyen cadenas de título correctas así como acrónimos. Las cadenas se convierten a mayúsculas de tipo título usando las convenciones de mayúsculas y minúsculas de la referencia cultural Inglés (Estados Unidos).

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

Recuerde que, aunque tiene en cuenta la referencia cultural, el método TextInfo.ToTitleCase no proporciona reglas de mayúsculas y minúsculas lingüísticamente correctas. En el ejemplo anterior, el método convierte "a tale of two cities" en "A Tale Of Two Cities". Sin embargo, el uso lingüísticamente correcto de las mayúsculas y minúsculas de título para la referencia cultural en-US es "A Tale of Two Cities".

Mostrar: