Convert String To camelCase from TitleCase C#

后端 未结 11 1650

I have a string that I converted to a TextInfo.ToTitleCase and removed the underscores and joined the string together. Now I need to change the first and only the first charact

11条回答
  •  轮回少年
    2021-02-04 23:45

    Here's my code which is pretty simple. My major objective was to ensure that camel-casing was compatible with what ASP.NET serializes objects to, which the above examples don't guarantee.

    public static class StringExtensions
    {
        public static string ToCamelCase(this string name)
        {
            var sb = new StringBuilder();
            var i = 0;
            // While we encounter upper case characters (except for the last), convert to lowercase.
            while (i < name.Length - 1 && char.IsUpper(name[i + 1]))
            {
                sb.Append(char.ToLowerInvariant(name[i]));
                i++;
            }
    
            // Copy the rest of the characters as is, except if we're still on the first character - which is always lowercase.
            while (i < name.Length)
            {
                sb.Append(i == 0 ? char.ToLowerInvariant(name[i]) : name[i]);
                i++;
            }
    
            return sb.ToString();
        }
    }
    

提交回复
热议问题