为什么当我尝试通过以下方式将 char[] word
写入控制台时会发生这种奇怪的事情
Console.WriteLine(word);
我得到了正确的结果,但是当我写
Console.WriteLine(word + " something");
我得到“
System.Char[]
的东西”? 最佳答案
发生这种情况是因为您的第一次尝试是写出一个 char
数组,Console.WriteLine
使用重载将其作为有效输入接受。
Console.WriteLine(word);
但是您的第二个结果似乎是错误的,因为您将
char[]
与字符串文字组合在一起。因此 Console.WriteLine
尝试通过执行以下操作使您的 char[]
也是一个字符串:Console.WriteLine(word.ToString() + " something");
请注意,它在
.ToString()
上调用 word
(在内部)使其成为 string
。 ToString
上的 char[]
方法返回它的 类型 而不是它的值。从而给你奇怪的结果。您可以通过执行以下操作来修复它:
Console.WriteLine(new string(word) + " something");
关于c# - WriteLine char[ ] + 东西,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17858140/