首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ushort操作抛出Int强制转换错误

ushort操作抛出Int强制转换错误
EN

Stack Overflow用户
提问于 2014-07-29 00:15:48
回答 1查看 61关注 0票数 1

我刚刚编写了一个程序(与所有的用户一起)来操作数字,这是代码的一部分:

代码语言:javascript
复制
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吗?今天是否有小类型的用例?

编辑:我该如何做这些演员?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-29 00:23:41

今天是否有小类型的用例?

是的,这是有理由的。内存仍然有限,特别是在处理“大数据”时,因此使用short而不是int节省一半内存是非常有价值的,特别是当您需要处理或存储数十亿项数据时。

编辑:我该如何做这些演员?

您可以只使用表单(ushort)的强制转换。

代码语言:javascript
复制
ushort digitSum = (ushort)(firstDigit + secondDigit + thirdDigit + fourthDigit);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25006352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档