我想要一个将字符串的第一个字符转换为小写的方法。
我的方法:
1.
public static string ReplaceFirstCharacterToLowerVariant(string name)
{
return String.Format("{0}{1}", name.First().ToString().ToLowerInvariant(), name.Substring(1));
}
2.
public static IEnumerable<char> FirstLetterToLowerCase(string value)
{
var firstChar = (byte)value.First();
return string.Format("{0}{1}", (char)(firstChar + 32), value.Substring(1));
}
您的方法是什么?
最佳答案
我会使用简单的串联:
Char.ToLowerInvariant(name[0]) + name.Substring(1)
第一个解决方案没有优化,因为 string.Format
很慢,如果你有一个永远不会改变的格式,你就不需要它。它还会生成一个额外的字符串来将字母转换为小写,这是不需要的。
“+ 32”的方法很难看/不可维护,因为它需要了解 ASCII 字符值偏移量。它还会生成包含 Unicode 数据和 ASCII 符号字符的错误输出。
关于c# - 最佳实践 - 将字符串的第一个字符转换为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3565015/