int a = 7;
long b;
b = a; //隐式转换成功,说明低位的可以转换为高位
a = b; //隐式转换不成功,说明高位的不可以转换为低位
a = (int)b; //需要使用到显示转换,而且有可能会发生溢出的可怕效果,而且C#不会自动检查溢出
a = checked((int)b) //使用checked 手动让程序检查溢出,或者使用checked{}检查语句块 , unchecked{}表示允许这些程序内容溢出
如下的程况是特殊程况:
Byte b = 100;
//b = b + 100; //需要显示转换,不然跑错,不过这种方法 b+=100; 就可以顺利运行
b = (Byte)(b+10);
Console.write(b);