-6

I don't know why but first Console.WriteLine returns reversed string whereas second returns prompt "System.Char[]" instead of reversed string.

        string name;
        string reversedName2;
        Console.Write("Enter your name:");
        name = Console.ReadLine();
        char[] letters = name.ToCharArray();
        Array.Reverse(letters);
        String reversedName = new string(letters);
        reversedName2 = letters.ToString();
        Console.WriteLine(reversedName);
        Console.WriteLine(reversedName2);

2 Answers2

0

.NET arrays won't join the string for you when you call .ToString(). By the default implementation, it returns the type name.

You have to convert it either using the String constructor (like have you done) or String.Join.

Daniel A. White
  • 187,200
  • 47
  • 362
  • 445
0

Because it's an array of (something), and arrays don't override the ToString method with specialized behaviour that would require knowledge of the contained type.

You could instead:

var someString = new String(someCharArray);
spender
  • 117,338
  • 33
  • 229
  • 351