2012-11-06 61 views
4

我想格式化一个字符串值,其格式为first letter它的Uppercase
e.g:格式化字符串文字

string.Format("{0}", "myName"); //Output must be : "MyName" 

我该怎么办呢?

+3

如果'myname'是' “弗雷德 - 琼斯”'是' “弗雷德 - 琼斯”'或' “弗雷德 - 琼斯”'? –

+1

http://stackoverflow.com/questions/4135317/make-first-letter-of-each-word-upper-case – Karthik

+0

我想要''弗雷德琼斯'''。但是,“弗雷德琼斯”呢? – Hamid62

回答

5

请检查您的案例的MSDN,请参阅TextInfo.ToTitleCase Method

string myString = "wAr aNd pEaCe";   
TextInfo myTI = new CultureInfo("en-US", false).TextInfo; 
Console.WriteLine("\"{0}\" to titlecase: {1}", myString, myTI.ToTitleCase(myString)); 
2

尝试

string test = "myname"; 
string formatted = System.Globalization.CultureInfo 
         .CurrentUICulture.TextInfo.ToTitleCase(test); 
3

如果你只想首字母大写,也许:

string s = string.Format("{0}", char.ToUpper(myname[0]) + myname.Substring(1)); 

否则,要为每个字也许用TextInfo.ToTitleCase

string s = string.Format("{0}", 
    CultureInfo.CurrentCulture.TextInfo.ToTitleCase(myname)); 
1
string input = "myname"; 
var charArray = input.ToArray(); 
charArray[0] = char.ToUpper(charArray[0]); 

string result = new string(charArray); 
2
CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture; 
TextInfo textInfo = cultureInfo.TextInfo; 

Console.WriteLine("{0}", textInfo.ToTitleCase(myname));