为什么输入= charArray.ToString()不返回字符串?

时间:2018-12-08 22:54:50

标签: c#

我正在编写一个程序,该程序将字符串作为输入并将其反转。这样做时,我遇到了我不了解的行为。

为什么不返回字符串?而是返回System.Char []。

using System;

public static class ReverseString
{
    public static string Reverse(string input)
    {
        if (input.Length == 0)
        {
            return input;
        }
        char[] charArray = input.ToCharArray();
        Array.Reverse(charArray);
        input = charArray.ToString();

        return input;
    }
}

工作代码:

using System;

public static class ReverseString
{
    public static string Reverse(string input)
    {
        if (input.Length == 0)
        {
            return input;
        }
        char[] charArray = input.ToCharArray();
        Array.Reverse(charArray);

        return new string(charArray);
    }
}

1 个答案:

答案 0 :(得分:1)

任何没有ToString()实现的方法都将Object name作为字符串返回。在这种情况下,Char [](字符数组)没有ToString()实现,因此不知道如何将字符数组转换为字符串。在这种情况下,您需要创建新的字符串。

var reversedString = new string(charArray);