为什么byte类型之间的值不能相加?
byte i=1;
byte j=2;
byte k=i+j;
运行这样的程序会失败,为什么?而int相加就可以
------解决方案--------------------以下赋值语句将产生一个编译错误,原因是赋值运算符右侧的算术表达式在默认情况下的计算结果为 int 类型。
// Error: conversion from int to byte:
byte z = x + y;
try..
若要解决此问题,请使用强制转换:
// OK: explicit conversion:
byte z = (byte)(x + y);
------解决方案--------------------那就要问C#了,long之间的+肯定是被运算符重载了,byte之间没有。
------解决方案--------------------TO:那如果是long+long呢,为什么表达式的计算结果默认不是int?
long +long 的计算结果默认为long..
至于为什么byte+byte=int,还真得去问微软了..
除byte之外,还有short+short表达式的计算结果默认也是int..
知道就行了,没有必要死抠..
个人意见,仅供参考..