如何以及何时在 C# 中使用 :short?

How and when to use :short in C#?

我想知道什么时候在 C# 中使用 :short

请帮助我想用它代替 int

使用 short 是好主意还是坏主意?

您很少需要使用 short,我认为考虑使用它 "bad" 是合理的,除非有令人信服的使用它的理由。

int 在现代 CPU 上的性能通常优于 short

例如,您可能需要在 struct 中使用 short 来与遗留的非托管代码进行互操作。

使用正确的类型是节省内存的最佳解决方案,因为 short 有 16 位大小,int 有 32 位大小。

short - 又名 Int16 - 有一些非常真实但有限的用途。

示例场景:

  • 当输入值限制为 16 位,并且您不想违反不变量(可能是因为它映射到 16 位的数据库列 - smallint in SQL服务器,例如)
  • 出于类似原因声明 enum: short
  • 因为您要实现的算法需要 16 位环绕行为 - CRC-16,例如
  • 当你正在编写一个 struct 需要映射非常具体的配置的显式布局时(通常与 C/C++ 映射相关)

不寻常,但绝不意外。同样:bytesbyteushortuintlongulong

int 是一个很好的默认值,但绝不是唯一的选择。