我正在做一个练习,我应该向用户询问一个字符串,然后反转字符串并将其打印到控制台。我写了这个:
Console.WriteLine("Please enter a string of characters: ");
char[] words = Console.ReadLine().ToCharArray();
Console.WriteLine("You entered {0}, the reverse of which is {1}", words.ToString(), words.Reverse().ToString());
这没有用。显然,将 char 数组发送到 .ToString() 会返回“System.Char[]”,并将其反转返回“System.Linq.Enumerable+d__a0`1[System.Char]”。
我了解到 .ToString() 无法处理 char 数组,而我不得不使用新的字符串构造函数,因此我将代码重写为它,它现在可以工作了:
Console.WriteLine("Please enter a string of characters: ");
char[] words = Console.ReadLine().ToCharArray();
Console.WriteLine("You entered {0}, the reverse of which is {1}", new string(words), new string(words.Reverse().ToArray()));
我的问题是为什么我不能在 char 数组上使用 .ToString() ?ToString 的摘要含糊地说“返回一个代表当前对象的字符串”,这对我来说意味着我会得到一个代表我发送的 char 数组的字符串。我错过了什么?