0

任何人都知道为什么它告诉我不能编辑chaine它是只读的?!

public static string FormaterChainePascalOuMixte(String chaine)
    {
        for (int i = 0; i < chaine.Length; i++)
        {
            char xxx = char.ToUpper(chaine[i]);
            if (i != 0 && chaine[i] == xxx)
            {
                chaine[0] = char.ToLower(xxx);
            }
        }
    }
4

1 回答 1

0

因为字符串是不可变的,所以不可能(不使用不安全代码)在创建字符串对象后修改它的值。但是,有很多方法可以修改字符串的值并将结果存储在新的字符串对象中。参考:这里

您可以按如下方式更改代码:

public static string FormaterChainePascalOuMixte(String chaine)
    {
        if (String.IsNullOrEmpty(chaine))
            return null;

        char[] charArray = chaine.ToCharArray();

        for (int i = 0; i < charArray.Length; i++)
        {
            char xxx = char.ToUpper(charArray[i]);
            if (i != 0 && charArray[i] == xxx)
            {
                charArray[0] = char.ToLower(xxx);
            }
        }

        return charArray.ToString();
    }
于 2014-02-28T01:16:37.807 回答