【问题标题】:Why am I getting System.char[] printed out in this case?为什么在这种情况下打印出 System.char[]?
【发布时间】:2010-08-25 00:40:17
【问题描述】:

我试图找出我在这里做错了什么,但我似乎无法。我有这个方法可以接收一个字符串并将其反转。但是,当我从调用方方法打印出反转的字符串时,我只得到“System.Char []”而不是实际的反转字符串。

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

【问题讨论】:

    标签: c# string return-value


    【解决方案1】:

    在 .NET 中对 T 数组调用 ToString 将始终返回 "T[]"。你想改用这个:new string(reversedString)

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2018-04-10
        • 1970-01-01
        • 2017-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-23
        • 2021-08-06
        相关资源
        最近更新 更多