why doesn't input = charArray.ToString() return a string? : <p>I'm writing a program that takes a string as input and reverses it. In doing so I came across a behavior that I'm not understanding. </p>

<p>Why doesn't this return a string? Instead it returns System.Char[].</p>

<pre><code>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;
    }
}
</code></pre>

<p>Working Code:</p>

<pre><code>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);
    }
}
</code></pre>
