为什么我在这种情况下打印出System.char ?

我想弄清楚我在这里做错了什么,但我似乎无法做到。 我有这个方法,它接受一个字符串并反转它。 但是,当我从调用方法打印出反向字符串时,我只得到“System.Char []”而不是实际的反向字符串。

static string reverseString(string toReverse) { char[] reversedString = toReverse.ToCharArray(); Array.Reverse(reversedString); return reversedString.ToString(); } 

在.NET中的T数组上调用ToString将始终返回"T[]" 。 您想要使用它: new string(reversedString)

通过调用ToString您只需获得每个类从objectinheritance的默认实现。 .NET不能仅为char数组提供特殊的实现; 覆盖必须适用于所有类型的数组。

相反,您可以将数组传递给String的构造函数, return new String(reversedString)