在.NET Core中将字符串转换为标题大小写的内置方法?

And*_*ger 15 c# .net-core

.NET Framework有一个方法TextInfo.ToTitleCase.

在.NET Core中有相同的东西吗?

编辑:我正在寻找.NET Core中的内置方法.

mxm*_*ile 25

您可以实现自己的扩展方法:

public static class StringHelper
{
    public static string ToTitleCase(this string str)
    {
        var tokens = str.Split(new[] { " ", "-" }, StringSplitOptions.RemoveEmptyEntries);
        for (var i = 0; i < tokens.Length; i++)
        {
            var token = tokens[i];
            tokens[i] = token == token.ToUpper()
                ? token 
                : token.Substring(0, 1).ToUpper() + token.Substring(1).ToLower();
        }

        return string.Join(" ", tokens);
    }
}
Run Code Online (Sandbox Code Playgroud)

信用:从这个要点中复制出来.

*为首字母缩略词Dotnet Fiddle添加了一点.

  • OP请求替换`TextInfo.ToTitleCase`,而不是_proper title casing_,所以这个答案是正确的.并且运作良好. (4认同)

And*_*ger 10

似乎.NET Core中没有内置的这种方法.


Chr*_*lly 6

.NET Standard 2.0添加了TextInfo.ToTitleCase(源代码),因此您可以在.NET Core 2.0中使用它.

但是,对于.NET Core 1.x支持,你运气不好.