Why am I getting System.char[] printed out in this case?

I'm trying to figure out what I'm doing wrong here, but I can't seem to. I have this method that takes in a string and reverses it. However, when I print out the reversed string from the caller method, I just get "System.Char []" instead of the actual reversed string.

    static string reverseString(string toReverse)
    {
        char[] reversedString = toReverse.ToCharArray();
        Array.Reverse(reversedString);
        return reversedString.ToString();
    }
12
задан Waffles 25 August 2010 в 00:40
поделиться

2 ответа

Вызов ToString в массиве T в .NET всегда будет возвращать «T []» . Вместо этого вы хотите использовать это: новая строка (reversedString) .

12
ответ дан 2 December 2019 в 19:29
поделиться

Вызывая ToString , вы просто получаете реализацию по умолчанию, которую каждый класс наследует от объекта . .NET не может предоставить специальную реализацию только для массива символов; переопределение должно применяться ко всем типам массивов.

Вместо этого вы можете передать массив конструктору String, вернуть новую строку (reversedString) .

6
ответ дан 2 December 2019 в 19:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: