我发现一个怪事:
static void Main()
{
Byte b=2;
b=b+2;
Console.WriteLine(b);
}
调试输出结果是:无法将类型“int”隐式转换为"Byte"
解决办法是:b=(Byte)(b+2); 输出 4;上面当然很好理解,问题是:如果改成b+=2;输出结果是4。如果是类型转换问题,上面可以解决,但下面也就存在同样的问题,关键是b+=2;却能够通过编译!
一个“强制转换”的例子引发的思考
最新推荐文章于 2025-08-27 10:13:36 发布
本文探讨了C#中byte类型变量进行加法运算时的不同情况。当使用直接赋值时,由于整型提升需要显式类型转换;而使用复合赋值操作符(如+=)时则不需要显式转换,这引发了一个关于类型转换机制的问题。
14万+

被折叠的 条评论
为什么被折叠?



