C#中两个byte如何相加
发现问题
有人会想相加?还不简单,用+呀。
bytea=1; byteb=2; bytec=a+b;
以上代码是通不过编译的,因为编译器对待+时,有int相加、有decimal相加、有字符串相加……就是没有byte相加,所以它会用最接近的int相加,自然返回的结果也是int,而int类型是不能直接赋值给更小的byte类型的。
解决方法
所以,得改成这样:
bytea=1; byteb=2; bytec=(byte)(a+b);
还好+=不存在这个问题,a+=b是没问题的。
byte最大值
byte最小值是0,最大值是255,所以bytea=256是通不过编译的。
而+超过的就不一样了。
bytea=255; a+=1;//这里结果是0 byteb=150; b+=150;//这里结果是44,若改为:b=(byte)(b+150);是一样的。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。