我试图用TextInfo.ToTitleCase一些名字转换为正确的案例.它适用于小写和混合大小写的字符串,但对于所有大写字符的字符串,它按原样返回输入字符串.
MSDN文档中没有提到任何有关此行为的信息,任何见解?
Mik*_*son 75
来自MSDN文档:
备注通常,标题大小写将单词的第一个字符转换为大写,其余字符转换为小写.但是,此方法目前不提供适当的大小写来转换完全大写的单词,例如首字母缩略词.下表显示了该方法呈现多个字符串的方式.
所以这是预期的行为.如果字符串全部为大写,则可以首先小写字符串,然后在其上运行ToTitleCase.
我怀疑这是因为所有首都的词汇都应该是缩写,例如美国.
例如,你不会期望"地震袭击美国"改为"地震袭击美国"你会吗?
MSDN 文档说:
通常,标题大小写将单词的第一个字符转换为大写,其余字符转换为小写。但是,完全大写的单词(例如首字母缩略词)不会被转换。
所以它按预期工作。尝试TextInfo.ToTitleCase(TextInfo.ToLowerCase("STRINGINCAPS"))
喜欢:
string TitleCaseString;
TextInfo myTI = new CultureInfo("en-US",false).TextInfo;
TitleCaseString = myTI.ToTitleCase(myTI.ToLowerCase("STRINGINCAPS"));
Run Code Online (Sandbox Code Playgroud)