c# - 为什么 Console.WriteLine(3 + 'z' + 4); 在 C# 中导致 129?
问题描述
这是他们作为我课程的一部分包含的内容,只是想知道它为什么这样做以及他们试图用它来展示什么,但似乎无法弄清楚。尝试将字符连接到数字时是否有某种原则?我是否正确假设'z'是一个字符,因为它在这里是单引号?
这是某种错误,因为你不应该写这样的东西吗?提前致谢!
解决方案
z
是 char 值,char 基本上是一个数字。z
将被隐式转换为int
(z
代码为122
),这就是为什么3 + 'z' + 4 == 129
。它将被转换为int
因为 in 语句3 + 'z'
3
是int
,所以加法的结果也将是int
。
推荐阅读
- bioinformatics - 如何从已识别的基序中获取基因(使用 HOMER 后)?
- windows - 如何请求 Windows 防火墙的 Windows 安全警报?
- python - 使用python Selenium循环遍历span元素的问题
- .net - .NET WebClient .DownloadFileAsync 和 .DownloadFile 什么都不做,也不抛出异常
- c++ - 错误:调用类 'std::__1::__wrap_iter 的私有构造函数
' - android - 2021年如何在kotlin中上传多个文件(webview)?
- java - 通知在时间选择器中未选择的时间关闭
- mysql - 如何正确使用mysql DISTINCT?
- c++ - 无法将指针分配给模板派生类
- python - 我们如何与通过不同列表引用的列表进行交互?