Как и когда использовать: коротко в C #? - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу знать, когда использовать: short в C #?

Пожалуйста, помогите, я хочу использовать его вместо int.

Использует ли short хороший илиплохая идея?

Ответы [ 3 ]

0 голосов
/ 03 декабря 2018

Это более оптимальное решение для экономии памяти при использовании правильного типа, поскольку short имеет размер 16 бит, а int имеет размер 32 бита.

0 голосов
/ 03 декабря 2018

short - он же Int16 - имеет несколько очень реальных, но ограниченных применений.

Примеры сценариев:

  • , когда входное значение ограничено 16-битами, иВы не хотите нарушать инвариант (возможно, потому что он сопоставляется со столбцом базы данных, который составляет 16 битов - smallint в SQL Server, например)
  • , объявляя enum, который : short дляаналогичные причины
  • , потому что вы реализуете алгоритм, который требует 16-битное поведение обтекания - CRC-16, например
  • , когда вы пишете struct сявный макет, который должен отображать очень специфическую конфигурацию (обычно связанную с отображением C / C ++)

Это необычно , но ни в коем случае не неожиданно.Аналогично: byte, sbyte, ushort, uint, long, ulong и т. Д.

int - это большое значение по умолчанию , но оноэто ни в коем случае не единственный вариант.

0 голосов
/ 03 декабря 2018

Вам редко понадобится использовать short, и я думаю, что разумно считать его использование "плохим", если нет веских причин для его использования.

int обычно работает лучше, чем short на современных процессорах.

Например, вам может понадобиться использовать short в struct, используемом для взаимодействия с устаревшим неуправляемым кодом.

...