我刚刚编写了一个程序(与所有的用户一起)来操作数字,这是代码的一部分:
ushort digitSum = firstDigit + secondDigit + thirdDigit + fourthDigit;
ushort reverseNumber = fourthDigit + thirdDigit + secondDigit + firstDigit;
ushort lastDigitFirst = fourthDigit + firstDigit + secondDigit + thirdDigit;
ushort middleDigitsSwitched = firstDigit + thirdDigit + secondDigit + fourthDigit;但它会给我投错。我搜索了一下,我想这就是原因:
Why is ushort + ushort equal to int?
Why does C# throw casting errors when attempting math operations on integer types other than int?
看起来,使用其他int类型执行操作需要强制转换,因为ushort + ushort = int。
我的问题是:为什么我们有短片和字节?当内存非常有限的时候,我们不得不担心使用哪种类型,但我们现在必须担心吗?使用小于int的类型是很烦人的,我可以一直使用int和long吗?今天是否有小类型的用例?
编辑:我该如何做这些演员?
发布于 2014-07-29 00:23:41
今天是否有小类型的用例?
是的,这是有理由的。内存仍然有限,特别是在处理“大数据”时,因此使用short而不是int节省一半内存是非常有价值的,特别是当您需要处理或存储数十亿项数据时。
编辑:我该如何做这些演员?
您可以只使用表单(ushort)的强制转换。
ushort digitSum = (ushort)(firstDigit + secondDigit + thirdDigit + fourthDigit);https://stackoverflow.com/questions/25006352
复制相似问题