首页 文章

为什么不输入= charArray.ToString()返回一个字符串? [重复]

提问于
浏览
-4

这个问题在这里已有答案:

我正在编写一个程序,它接受一个字符串作为输入并反转它 . 在这样做时,我遇到了一种我不理解的行为 .

为什么不返回字符串?相反,它返回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 回答

  • 1

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

    var reversedString = new string(charArray);
    

相关问题