首页 >后端开发 >C++ >为什么 C# 中'短”整数没有文字修饰符?

为什么 C# 中'短”整数没有文字修饰符?

DDD
DDD原创
2025-01-04 17:00:43646浏览

Why Don't `short` Integers Have Literal Modifiers in C#?

为什么某些类型缺少文字修饰符

在 C# 中,诸如 long int 之类的整型具有文字修饰符,而其他类型(如 Short int)则没有。这种区别提出了一个问题:为什么某些类型具有此功能,而其他类型则没有。

C# 设计背后的原则是默认情况下不存在功能,必须通过其好处来证明其合理性。对于文字修饰符,它们的好处适用于 long 和无符号类型等类型,因为它们可以精确指定预期的整数大小或符号性。

long 和无符号类型修饰符的理由

绝大多数整数计算涉及 32 位有符号整数,这些整数由硬件有效处理。 C# 默认采用这种表示形式。然而,对于需要更大范围的计算,使用长整数,并且修饰符可以清楚地指示此预期大小。

此外,互操作场景和位字段操作需要指定无符号整数。同样,修饰符提供了一种简洁的方法来指示预期的符号或缺乏符号。

短整型修饰符缺乏合理性

相反,短整数不需要修饰符,因为:

  • 合法使用: 整数文字始终可以在short 合法的地方使用。
  • Shorts 中不进行算术: 算术在 int、long 或 ulong 类型上执行,但从不在 Short 类型上执行。 Shorts 在算术中提升为 int,使得修饰符变得多余。

修饰符的好处不会扩展到 Short 类型。由于算术不是在 Shorts 中完成的,并且文字已经可以与 Shorts 一起使用,因此没有令人信服的理由引入 Short 修饰符。

以上是为什么 C# 中'短”整数没有文字修饰符?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn