抛出Int强制转换错误
本文关键字:转换 错误 Int 抛出 | 更新日期: 2023-09-27 18:15:33
我刚刚写了一个程序(所有字符)来操作数字,这是代码的一部分:
ushort digitSum = firstDigit + secondDigit + thirdDigit + fourthDigit;
ushort reverseNumber = fourthDigit + thirdDigit + secondDigit + firstDigit;
ushort lastDigitFirst = fourthDigit + firstDigit + secondDigit + thirdDigit;
ushort middleDigitsSwitched = firstDigit + thirdDigit + secondDigit + fourthDigit;
但是它给了我int类型转换错误。我搜索了一下,我认为这就是原因:
为什么ushort + ushort等于int?
为什么c#在对整数类型而不是整型进行数学操作时会抛出类型转换错误?
看起来对其他int类型执行操作需要强制类型转换,因为ushort + ushort = int。
我的问题:为什么我们有短裤和字节?当内存非常有限的时候,我们不得不担心使用哪种类型,但是我们现在还需要担心吗?使用小于int的类型很烦人,我可以一直使用int和long吗?现在有小类型的用例吗?
编辑:我该如何在这些短板上做石膏?
现在有更小类型的用例吗?
是的,这是有理由的。内存仍然是有限的,特别是在处理"大数据"时,因此使用short
而不是int
来节省一半的内存是非常有价值的,特别是当您需要处理或存储数十亿项数据时。
编辑:我该如何在这些短板上做石膏?
您可以使用(ushort)
:
ushort digitSum = (ushort)(firstDigit + secondDigit + thirdDigit + fourthDigit);