c# - 求解数学最后 str + 1 返回 50
问题描述
您好,我正在尝试对此进行数学运算以获得结果 = 2
string str = "1005480701";
Console.WriteLine(str.Last() + 1);
它应该是 2 但结果是 50 有人能解释一下为什么会这样吗
解决方案
string.Last()
返回char
'1'
. 的 UTF-16 代码'1'
是49
,如果你添加1
到49
,你会得到50
.
您必须将字符转换为它所代表的数字,例如使用int.Parse()
.
...
Console.WriteLine(int.Parse(str.Last().ToString()) + 1);
...
推荐阅读
- c# - 如何通过 AppSettings 为 Serilog 的 Application Insights 设置遥测配置
- flutter - 自定义小部件测试需要 Material 小部件来测试
- asp.net-core - IDataProtector 保护和取消保护字符串
- rest - 使用 CoinMarketCap 根据名称过滤某些硬币
- c - 串行驱动程序和 tty 驱动程序之间的区别
- vb.net - 在 TableLayoutPanel 中使用 DrawString 截断文本
- windows - C2337 'importidl': 将解决方案升级到 VS2019 ( 16.9.2 ) 后找不到属性错误
- c# - 使用 JSON 模式,在将 JSON 解析为 JObject 时如何过滤掉其他属性?
- python - 如何将 iterrows 的行输出连接到另一个具有相同列的 pandas DataFrame?
- r - 在 R 中制作一个平铺图,但每列都有一个颜色键