Можешь? Конечно. Это сэкономит место? Возможно, в зависимости от того, сколько работы вы хотите сделать. Вы должны понимать, что процессор 32-битный, то есть он имеет 4-байтовые регистры, поэтому он хочет хранить и получать доступ к вещам. Для принудительного использования 3-байтового «int» вам придется хранить его в байтовом массиве и извлекать его из массива по выровненному адресу перед использованием. Это означает, что если вы сохраните его коротким, компилятор либо дополнит его (и вы потеряете всю эффективность, которую, по вашему мнению, вы создали), либо он будет на много медленнее читать и писать. 1003 *
Если это приложение для настольного компьютера, как именно экономит место в первую очередь, особенно когда речь идет об 1 байте на элемент? Наказание за доступ к элементу может изменить ваше мнение о том, насколько важен этот байт.
Я бы сказал, что если этот 1 байт действительно важен, то, может быть, просто, может быть, вы все равно используете неправильный язык. Количество байтов, которые вы сохраните, если я не установлю и не буду использовать CLR, составляет лот из этих байтов.
Примечание: вы бы также сделали сдвиг, а не умножение (хотя компилятор, скорее всего, доберется до вас).