字符串小写的第一个字符 - C#

nem*_*_87 0 c# string lowercase

如何将字符串的第一个字符设为小写?

例如: ConfigService

我需要它像这样: configService

Ami*_*oki 19

这将有效:

string s = "ConfigService";
            if (s != string.Empty && char.IsUpper(s[0]))
            {
              s=  char.ToLower(s[0]) + s.Substring(1);
            }
            Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)

  • 和只包含一个字符的字符串。 (5认同)
  • 不要忘记检查空字符串。 (2认同)
  • 该方法可以在 2022 年变得更简单:`return string.IsNullOrEmpty(str) ?str : char.ToLower(str[0]) + str[1..];` (2认同)

Tim*_*ter 10

单程:

string newString = oldString;
if (!String.IsNullOrEmpty(newString))
    newString = Char.ToLower(newString[0]) + newString.Substring(1);
Run Code Online (Sandbox Code Playgroud)

对于它的价值,一个扩展方法:

public static string ToLowerFirstChar(this string input)
{
    string newString = input;
    if (!String.IsNullOrEmpty(newString) && Char.IsUpper(newString[0]))
        newString = Char.ToLower(newString[0]) + newString.Substring(1);
    return newString;
}
Run Code Online (Sandbox Code Playgroud)

用法:

string newString = "ConfigService".ToLowerFirstChar(); // configService
Run Code Online (Sandbox Code Playgroud)

  • @ThorstenDittmar .NET有Unicode字符串.而char代表UTF-16字符 (2认同)
  • @AmitJoki在这种情况下,`Char.ToLower`返回原始字符,因此字符串保持不变. (2认同)

Tho*_*mar 8

你可以试试这个:

lower = source.Substring(0, 1).ToLower() + source.Substring(1);
Run Code Online (Sandbox Code Playgroud)