为什么我在这种情况下打印出System.char []?
问题描述:
我想弄清楚我在这里做错了什么,但我似乎无法做到。我有这个方法需要一个字符串并将其反转。但是,当我从调用方法打印出反转字符串时,我只是得到“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
,您将获得每个类从object
继承的默认实现。 .NET不能为char数组提供特殊的实现;覆盖必须适用于所有类型的数组。
相反,您可以将数组传递给String的构造函数return new String(reversedString)
。
哇,谢谢!这工作! – Waffles 2010-08-25 00:56:40