C# - 仅影响小写的ToTitleCase?

时间:2015-06-16 18:33:07

标签: c#

在C#中,我正在寻找与ToTitleCase非常相似的代码,除了我需要它只影响小写字母。我不希望任何大写的字母变成小写字母,我只需要将小写字母正确地带到大写字母。

这适用于电子商务软件,因此资本变为小写是一个交易破坏者。使品牌名称看起来不正确。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您可以使用一种方法来放弃ToTitleCase()中不需要的更改。

我在这里使用的是StringBuilder而不是普通的string,因为StringBuilder(正如您可能从其名称中猜到的那样)追加字符串的速度比string快得多+=运营商。如果您的标题很长或者您在长循环中使用此方法等,这一点尤其重要。

public string BetterTitileCase(string original)
{
    string title = /* ToTitleCase call here, etc. */;

    StringBuilder fixedTitle = new StringBuilder();

    //the title and the original string should be the same length
    for(int i = 0; i < title.length; i++)
    {
        if(char.IsLower(original[i]))
            fixedTitle.Append(title[i]);
        else
            fixedTitle.Append(original[i]);
    }

    return fixedTitle.ToString();
}