2012-03-25 18 views
6

Duplicar posible:
How to make a first letter capital in C#C# capitalizar frase

Estoy tratando de capitalizar la primera palabra de una frase esto es lo que tiene, pero no está funcionando. Gracias de antemano por cualquier ayuda.

char.ToUpper(sentence[0]) + sentence.Substring(1) 
+0

¿te refieres a la primera letra de una oración? –

+0

SOLUCIONADO- Lo resolví haciendo lo siguiente. Necesitaba que fuera la oración [1] y la subcadena (2) por alguna razón adicional. sentence = Char.ToUpper (oración [1]) + oración.Substring (2); – amedeiros

+0

Quizás haya ejecutado 'sentence = sentence.Trim();' en él primero. Pudo haber habido un espacio antes de la primera letra. – fredsbend

Respuesta

4

Parece que usted está tratando de capitalizar el primer carácter de un valor string. Si es así, entonces su código está bien, pero necesita asignar la nueva cadena nuevamente al valor sentence.

sentence = char.ToUpper(sentence[0]) + sentence.Substring(1) 

A string en .Net es inmutable y por lo tanto cada operación que cambia el string produce un nuevo valor. No cambiará el valor original en su lugar. Entonces, para ver el resultado del cambio, debe asignarlo a una variable.

+0

Intenté esto pero todavía es el mismo resultado. – amedeiros

+0

@ user1072481 ¿cómo estás usando 'sentence'? El código anterior debería funcionar bien así que debe estar en el uso del resultado – JaredPar

9

La solución de JaredPar es correcta, pero también me gustaría apuntarle hacia la clase TextInfo. ToTitleCase() escribirá en mayúscula la primera letra y convertirá el resto en minúsculas.

 string s = "heLLo"; 
     var t = new CultureInfo("en-US", false).TextInfo; 
     s = t.ToTitleCase(s); //prints "Hello" 
+8

. Puede hacerlo sin crear una nueva CultureInfo - 'CultureInfo.CurrentCulture.TextInfo.ToTitleCase (s)' – Blorgbeard

+3

Este no es el caso. TextInfo.ToTitleCase() convierte la primera letra * de cada palabra * en un carácter en mayúscula, no solo en la primera letra de la cadena (frase en este caso), que es lo que la pregunta está pidiendo. –

+0

ver comentario de @Camille Sévigny. – Zunair

Cuestiones relacionadas