gpt4 book ai didi

c# - 字节 + 字节 = 未知结果

转载 作者:可可西里 更新时间:2023-11-01 08:17:42 28 4
gpt4 key购买 nike

美好的一天!我试图添加两个字节变量并注意到奇怪的结果。

byte valueA = 255;
byte valueB = 1;
byte valueC = (byte)(valueA + valueB);

Console.WriteLine("{0} + {1} = {2}", valueA.ToString(),
valueB.ToString(),
valueC.ToString());

当我尝试运行该程序时,它显示

255 + 1 = 0

上面的代码发生了什么?为什么编译器不抛出 OverflowException?我怎么可能捕捉到异常?我是一个 VB 人,正在慢慢迁移到 C# :) 抱歉这个问题。

最佳答案

默认情况下,C# 代码是未选中的,因此溢出会悄悄环绕而不是抛出异常。

您可以通过将代码包装在 checked block 中来获得异常,但代价是性能稍有下降。

关于c# - 字节 + 字节 = 未知结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11601089/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com