我发现一个怪事:
static void Main()
{
Byte b=2;
b=b+2;
Console.WriteLine(b);
}
调试输出结果是:无法将类型“int”隐式转换为"Byte"
解决办法是:b=(Byte)(b+2); 输出 4;上面当然很好理解,问题是:如果改成b+=2;输出结果是4。如果是类型转换问题,上面可以解决,但下面也就存在同样的问题,关键是b+=2;却能够通过编译!
一个“强制转换”的例子引发的思考
最新推荐文章于 2024-01-17 23:27:23 发布