我无法增加字节数组中内容的值。
例如,如果在我的数组中我得到了值1100001
,那么增加这个值的有效方法是什么,这样数组的内容就会显示出来1100010
。
我认为它会类似于以下内容,但它似乎不起作用。
ByteArray[i] = ByteArray[i]++;
提前致谢
我无法增加字节数组中内容的值。
例如,如果在我的数组中我得到了值1100001
,那么增加这个值的有效方法是什么,这样数组的内容就会显示出来1100010
。
我认为它会类似于以下内容,但它似乎不起作用。
ByteArray[i] = ByteArray[i]++;
提前致谢
ByteArray[i] = ByteArray[i]++;
这相当于:
byte temp = ByteArray[i];
ByteArray[i]++;
ByteArray[i] = temp;
换句话说,您正在增加值,然后用旧值替换它。
你想要的是要么
ByteArray[i]++;
或者
ByteArray[i] = ByteArray[i] + 1;
x++
返回 的原始值x
。
然后,您将原始值分配回数组槽。
您应该阅读增量运算符,有++x
and x++
。两者都递增,但++x
返回 x+1,同时x++
返回 x。
在您的情况下,您将 ByteArray[i] 设置为 ByteArray[i],增量被不耐烦地覆盖。
改为使用ByteArray[i]++;
。
并且每当您使用这种增量的返回时,请考虑使用哪种变体。