为什么我在这种情况下打印出System.char []?

Waf*_*les 12 c# string return-value

我想弄清楚我在这里做错了什么,但我似乎无法做到.我有这个方法,它接受一个字符串并反转它.但是,当我从调用方法打印出反向字符串时,我只得到"System.Char []"而不是实际的反向字符串.

    static string reverseString(string toReverse)
    {
        char[] reversedString = toReverse.ToCharArray();
        Array.Reverse(reversedString);
        return reversedString.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

bca*_*cat 12

调用ToString一个关于T在.NET数组总是返回"T[]".你想用它代替:new string(reversedString).


ste*_*son 6

通过调用ToString您只需获取每个类继承的默认实现object..NET不能仅为char数组提供特殊实现; 覆盖必须适用于所有类型的数组.

相反,您可以将数组传递给String的构造函数,return new String(reversedString).