2011-01-06 30 views

Respuesta

7

Lo que usted describe a veces se llama propercase, o en el caso de C#, TitleCase. Puede parecer exagerado, pero, por lo que sé, requiere cierta información de localización "cultural". Afortunadamente, puedes elegir el que está actualmente en uso.

CultureInfo c = Thread.CurrentThread.CurrentCulture; 
TextInfo textInfo = c.TextInfo; 

String newString = textInfo.ToTitleCase(oldString); 

Por supuesto, en la práctica es probable que desee para poner todo junto como Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase, pero no puede hacer daño a ver lo que significa toda esa basura.

http://support.microsoft.com/kb/312890

10

Pruebe esto.

String s = "this is example"; 
Console.WriteLine(Thread.CurrentCulture.TextInfo.ToTitleCase(s)); 
+0

No usaría 'ToLower'. 'ToTitleCase' es suficiente. – leppie

+0

Thx..Actualizó la publicación ... – Chandu

+0

+1, pero con una nota que en inglés (y en otros idiomas), hacer que la primera letra de cada palabra en mayúscula no sea "lingüísticamente correcta" como el [artículo de MSDN] (http: //msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase.aspx) señala. Por lo tanto, este método, aunque se llama 'ToTitleCase', no usa mayúsculas en la cadena de acuerdo con las [reglas del caso del título] (http://en.wikipedia.org/wiki/Letter_case#Choice_of_case_in_text). –

0

intente utilizar el código de abajo

Console.WriteLine(System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(str)); 
Cuestiones relacionadas