Или это случай типа byte / int, где вы должны всегда предпочитать int.
Во-первых, я бы сказал, что для byte
есть допустимые варианты использования.byte
занимает меньше места, чем int - если вам нужен только byte
, используйте byte
.
System.Char
имеет пару преимуществ перед string
, в правильном случае.Во-первых, это единственный неизменный тип значения.Это более эффективно, если вам нужен только один символ.
Кроме того, использование char
в вашем API делает невозможным размещение более одного символа в этом поле.Это может устранить или упростить некоторые из требуемых проверок.
Если действительно имеет смысл, что вы когда-нибудь захотите только один char
, я бы сказал, что нужно использовать char
.Это упрощает код (меньше проверки), делает его более эффективным (меньше памяти, поскольку у вас нет другой ссылки на объект), и, что наиболее важно, выражает намерение более четко, поскольку вы говорите: «Я просто хочу один символ здесь.«