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

时间:2018-12-03 11:17:04

标签: c# .net int short

我想知道何时在C#中使用:short

请帮助我代替int使用它。

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

3 个答案:

答案 0 :(得分:6)

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

示例方案:

  • 当输入值限制为16位,并且您不想违反不变式时(例如,可能因为它映射到16位的数据库列-例如,SQL Server中的smallint
  • 出于类似原因声明enum: short
  • 因为您实现的算法要求 16位换行行为-例如CRC-16
  • 在编写具有显式布局的struct时需要映射非常特定的配置(通常与C / C ++映射有关)

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

int是很棒的默认,但绝不是唯一的选择。

答案 1 :(得分:2)

您几乎不需要使用short,并且我认为将其使用为“不良”是合理的,除非有令人信服的理由使用它。

int在现代CPU上通常会比short更好。

例如,您可能需要在用于与旧版非托管代码进行互操作的short中使用struct

答案 2 :(得分:0)

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