Id. de artículo: 312890 - Última revisión: lunes, 21 de julio de 2008 - Versión: 3.1

Cómo convertir cadenas a la inferior, superior o título (correcto) mediante C#

Nota acerca de su sistema operativoEste artículo se aplica a un sistema operativo distinto al que usa. El contenido del artículo que puede que no sea importante para usted, se deshabilitará

En esta página

Expandir todo | Contraer todo

Resumen

En este artículo muestra cómo convertir una cadena a mayúsculas, minúsculas, o título (o adecuado) caso.

Aunque puede utilizar métodos de la clase String para convertir una cadena a mayúsculas o minúsculas, debe utilizar un método de la clase TextInfo del espacio de nombres System.Globalization para convertir una cadena a mayúsculas. La clase String no incluye un método integrado para convertir una cadena a mayúsculas.

Convertir cadena mediante la clase String

Esta sección describe cómo utilizar los métodos de la clase String para convertir una cadena a mayúsculas y minúsculas.

Convertir una cadena a mayúsculas

La clase String tiene un método estático denominado ToUpper . Puede utilizar este método para convertir una cadena a mayúsculas. Por ejemplo:
    string lower = "converted from lowercase";
    Console.WriteLine(lower.ToUpper());
				

Convertir una cadena en minúsculas

El método ToLower es el complemento del método ToUpper . ToLower convierte una cadena a minúsculas. Por ejemplo:
    string upper = "CONVERTED FROM UPPERCASE";
    Console.WriteLine(upper.ToLower());
				

Convertir cadena mediante la clase TextInfo

Esta sección describe cómo utilizar la clase TextInfo para convertir una cadena a mayúsculas.

Convertir una cadena en título

La clase String no incluye un método que convierte una cadena a mayúsculas. El método ToTitleCase reside en la clase TextInfo , que es miembro del espacio de nombres System.Globalization . A diferencia de ToUpper y ToLower métodos de la clase String , el método ToTitleCase no es un método estático y requiere una instancia de la clase.

Cuando se utiliza la clase TextInfo , debe especificar información de referencia cultural. En la mayoría de los casos, se puede predeterminada a la referencia cultural que está actualmente en uso. Información de referencia cultural es una propiedad del subproceso en el que se ejecuta el código. Para obtener la información de referencia cultural, debe tener acceso al subproceso actual y recuperar la propiedad CurrentCulture desde ese subproceso. Una vez de ello, puede crear el objeto TextInfo . Por ejemplo:
CultureInfo cultureInfo   = Thread.CurrentThread.CurrentCulture;
TextInfo textInfo = cultureInfo.TextInfo;
				
la clase TextInfo también incluye los métodos ToUpper y ToLower . Utilice estos métodos de TextInfo si necesita especificar opciones de referencia cultural.
    Console.WriteLine(textInfo.ToTitleCase(title));
    Console.WriteLine(textInfo.ToLower(title));
    Console.WriteLine(textInfo.ToUpper(title));
				
si necesita crear o manipular las cadenas que tienen configuraciones de referencia cultural específica, puede utilizar uno de los constructores sobrecargados de la clase TextInfo para crear cadenas con cualquiera de las opciones disponibles de referencia cultural.

Ejemplo paso a paso

  1. Abra un nuevo proyecto de aplicación de consola en Visual C#.
  2. Reemplace el código en Program.cs con el código siguiente:

    Nota En Visual Studio .NET 2003, el archivo predeterminado es Class1.cs.
    using System;
    using System.Globalization;
    using System.Threading;
    
    namespace csConsole
    {
    
        public class MyClass 
        {
            public static void Main() 
    	{ 
    	  string title="this is my converted string";
              Console.WriteLine("String Class");
              Console.WriteLine("------------");
    			
              //Convert string to uppercase.
              Console.WriteLine(title.ToUpper());
              //Convert string to lowercase.
              Console.WriteLine(title.ToLower());
    	
              Console.WriteLine();
              Console.WriteLine("TextInfo Class");
              Console.WriteLine("--------------");
    
              //Get the culture property of the thread.
              CultureInfo cultureInfo   = Thread.CurrentThread.CurrentCulture;
              //Create TextInfo object.
              TextInfo textInfo = cultureInfo.TextInfo;
                        
              //Convert to uppercase.
              Console.WriteLine(textInfo.ToUpper(title));
              //Convert to lowercase.
              Console.WriteLine(textInfo.ToLower(title));
              //Convert to title case.
              Console.WriteLine(textInfo.ToTitleCase(title));
    	}
        }
    }
    					
  3. Presione la combinación de teclas CTRL + F5 para generar y ejecutar el proyecto.
  4. Observe los resultados en la ventana de la consola.

Nota en la propiedad InvariantCulture

Cuando utiliza espacio de nombres de globalización para convertir datos, si almacena los datos convertidos en lugar de mostrar para el usuario, puede que desee utilizar la propiedad InvariantCulture de CultureInfo (clase).

InvariantCulture no es neutra ni una referencia cultural específica; es una referencia cultural que no tienen en cuenta la referencia cultural. Si utiliza InvariantCulture cuando se almacenan datos, los datos se almacenan en una manera coherente, independientemente de cualquier usuario específico o la configuración de referencia cultural del sistema que puedan estar vigentes. Para obtener más información, consulte la sección References.

El ejemplo de código anterior utiliza las propiedades de CultureInfo del subproceso actual:
CultureInfo cultureInfo   = Thread.CurrentThread.CurrentCulture;
				
para utilizar InvariantCulture en la misma situación, utilice el siguiente código:
CultureInfo cultureInfo = CultureInfo.InvariantCulture;
				

Referencias

Para más información, vea los temas siguientes en la documentación Ayuda de Microsoft Visual Studio en línea:
  • Utilizar la propiedad InvariantCulture
  • Clase TextInfo
  • Clase CultureInfo
  • Clase de cadena

La información de este artículo se refiere a:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
Palabras clave: 
kbmt kbsweptvs2008 kbhowtomaster kbsample KB312890 KbMtes
Traducción automáticaTraducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 312890  (http://support.microsoft.com/kb/312890/en-us/ )