我正在编写一个程序,该程序将字符串作为输入并将其反转。这样做时,我遇到了我不了解的行为。
为什么不返回字符串?而是返回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);
}
}
答案 0 :(得分:1)
任何没有ToString()实现的方法都将Object name作为字符串返回。在这种情况下,Char [](字符数组)没有ToString()实现,因此不知道如何将字符数组转换为字符串。在这种情况下,您需要创建新的字符串。
var reversedString = new string(charArray);