04 mayo 2012

C#: Función que devuelve la primera letra de un string en mayuscula

Sencillo y eficaz código que devuelve un string con el primer caracter en mayuscula. Así por ejemplo, metiendo como parámetro el string víctor está loco, nos devolverá Víctor está loco.
 
        private string UppercaseFirst(string s)
        {
            // Check for empty string.
            if (string.IsNullOrEmpty(s))
            {
                return string.Empty;
            }
            // Return char and concat substring.
            return char.ToUpper(s[0]) + s.Substring(1);
        }
Saludos.

8 comentarios:

  1. disculpa, como podria aplicar este codigo en la aplicacion de consola?
    y tambien, me explicas porfa que funciones usaste y porque???
    y ultima
    si quiero que devuelva la ultima letra en que cambia?
    gracias

    ResponderEliminar
  2. Buenos días.

    Os recomiendo algo mucho más fácil:

    resul = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(sentence.ToLower());

    Y si queréis controlar el idioma que se usa ...
    resul2 = new CultureInfo("es-ES", false).TextInfo.ToTitleCase(sentence.ToLower());

    Espero que os sea útil.

    ResponderEliminar
  3. DISCULPA COMO ARIA QUE CAMBIAR PRIMERA LETRA POR LA ULTIMA Y VICEVERSA
    EJEMPLO: MUNDO-->OUNDM
    TE LO AGRADE SERIA

    ResponderEliminar
  4. Super!!! gracias, aca lo modifique para una frase completa

    public string NombrePropio(string TEXTO)
    {
    string[] PALABRAS = TEXTO.Split(' ');
    string RESULT = "";
    foreach (var item in PALABRAS)
    {
    RESULT = RESULT + " " + char.ToUpper(item[0]) + item.Substring(1);
    }
    return RESULT;
    }

    ResponderEliminar
  5. public String primeraEnMayuscula (string texto)
    {
    if (texto == string.Empty)
    {
    return string.Empty;
    }

    return texto[0].ToString().ToUpper() + texto.Substring(1);
    }

    muchas gracias me sirvio

    ResponderEliminar
  6. diculpen pero me pueden ayudar con este problema es en netbeans porfavor todo es un solo ejercicio :
    1) INGRESAR LA CADENA DE TU NOMBRE
    2) COLOCAR LA CADENA DE UN ARREGLO
    3) INTERCAMBIAR EL PRIMERO POR EL SEGUNDO
    4) ALMACENAR LA CADENA CODIFICADA EN UN ARREGLO NUEVO
    5) VALIDAR SI DESEA CONTINUAR
    6)MOSTRAR LAS CADENAS INGRESADAS Y SUS CODIFICACIONES

    ResponderEliminar
  7. Hola aqui les dejo el codigo modificado que toma palabras completas y no letra por letra.. para agregar un ligero rendimiento.
    Like que es mi primer aporte :D.
    Saludos y felices códigos.

    private string mayusculaPrimero(string primeraCadena)
    {
    string cadena;
    //Partimos la cadena en varias palabras
    string[] words = primeraCadena.Split(' ');
    //La primer letra en la primer palabra que partimos la convertimos a mayuscula y la asignamos a nuestra nueva cadena
    cadena = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(words[0].ToString());
    //Ahora solo le concatenamos las demas palabras que le siguen y al mismo tiempo las convertimos en minusculas
    for (int i = 1; i < words.Length; i++)
    {
    cadena = cadena +" "+words[i].ToString().ToLower();//Si quieres las demas palabras en minusculas.
    // cadena = cadena + " " + words[i].ToString(); //si quieres que solo siga agregando los datos como fueron enviados.
    }
    return cadena;
    }

    ResponderEliminar
  8. Buenas,
    En relacion con esto:
    Podria recorrer una cadena hasta que pasa de mayuscula a minuscula y devolver solo la parte mayuscula?
    Ejemplo:
    FERNANDO MARTIN era un gran jugador de MADRID
    Y que me devuelva la string: FERNANDO MARTIN
    Gracias por anticipado

    ResponderEliminar