关于参数:为什么Console.WriteLine(3 +’z’+ 4);

Why does Console.WriteLine(3 + 'z' + 4); result in 129 in C#?

本问题已经有最佳答案,请猛点这里访问。

这是他们作为我课程的一部分所包含的东西,只是想知道为什么会这样做,以及他们试图用它来展示什么,但似乎无法理解。当试图将字符连接到数字时,这是某种原则吗?我假设"z"是一个字符是对的吗,因为它在这里是单引号?

是不是因为你不应该写这样的东西而出错了?事先谢谢!


zchar char值冰,冰basically a number。z将implicitly转换两个int(z122代码),这就是为什么3 + 'z' + 4 == 129。它将被转换,因为在两个intstatement 3 + 'z'3int冰,所以结果int也会增加。


在C #字符是一个16位的数字值,代表一个Unicode字符。所以在你的案例z冰implicitly AA 122评估。所以3 + 122 + 4equals 129