0
我有一些代码可以完成我想要的功能,但是我想知道是否有更快的方法来实现我想要的功能。C#大写首字母的字符串 - 更有效的方法?
用户将输入他们的名字,我想,以确保他们的名字是接近这个格式可能:
- 约翰>约翰
- 朱莉>朱莉
我代码:
// First Name
s_in_GetUserFirstName = s_in_GetUserFirstName.ToLower();
c_in_UserFirstNameFirstChar = s_in_GetUserFirstName[0];
s_in_UserFirstNameFirstChar = c_in_UserFirstNameFirstChar.ToString().ToUpper();
s_in_GetUserFirstName = s_in_GetUserFirstName.Remove(0, 1);
s_in_GetUserFirstName = s_in_UserFirstNameFirstChar + s_in_GetUserFirstName;
// Last Name
s_in_GetUserLastName = s_in_GetUserLastName.ToLower();
c_in_UserLastNameFirstChar = s_in_GetUserLastName[0];
s_in_UserLastNameFirstChar = c_in_UserLastNameFirstChar.ToString().ToUpper();
s_in_GetUserLastName = s_in_GetUserLastName.Remove(0, 1);
s_in_GetUserLastName = s_in_UserLastNameFirstChar + s_in_GetUserLastName;
我所做的是将字符串分成两部分,第一个字符和休息。我大写第一个字符并从字符串中删除该字符。然后我将字符串合并成一个。
建议看看http://stackoverflow.com/a/1206029/563532 - 此格式通常称为'标题案例'或'正确案例' – Rob
这是完美的,谢谢! – benfleuty
LINQ:这将工作太:) 变种STR = 小号 .ToCharArray() 。选择((C,I)=>我== 0 Char.ToUpper(C):Char.ToLower(c)中) 。选择(c => c.ToString()) .Aggregate((c,n)=> c + n) ; – ipavlu