【发布时间】:2018-12-08 22:54:49
【问题描述】:
我正在编写一个将字符串作为输入并将其反转的程序。在这样做时,我遇到了一种我不理解的行为。
为什么这不返回一个字符串?相反,它返回 System.Char[]。
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;
}
}
工作代码:
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);
}
}
【问题讨论】:
-
ToString为没有覆盖ToString的任何内容返回类型名称(*例如'System.Char[]')。如果你想要一个字符串,创建一个字符串 -
它确实返回一个字符串,它只是不返回具有您想要的值的字符串。它返回“System.Char[]”作为字符串。
-
我想我在关注。我在 ToString 的文档中看到“Object.ToString 方法的默认实现返回对象类型的完全限定名称”。这很有意义。
-
是的,作为最后的手段,请阅读文档。
标签: c#