Любая причина использовать байт / короткий и т.д. в C#?

Так вы получаете доступные размеры экрана. Это даст вам не необработанный размер пикселя, а доступное пространство вашего окна / действия.

    Point outSize = new Point();
    getWindowManager().getDefaultDisplay().getSize(outSize);

Также вы можете иметь различные файлы макета XML для альбомной и книжной ориентации. Поместите ваш xml для портрета в res / layout-port. Макет для ландшафта можно поместить в res / layout-land. Вы должны прочитать, как Android обрабатывает ресурсы

7
задан Finglas 25 May 2009 в 10:35
поделиться

5 ответов

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

Более того, типы данных помогают лучше передать намерения разработчиков: когда вы сталкиваетесь с длиной байта ; вы точно знаете, что длина диапазон - это байт .

10
ответ дан 6 December 2019 в 06:25
поделиться

много причин использовать байт - все, что обрабатывает необработанные двоичные потоки (изображения, файлы, код сериализации и т. Д.), Должно обсуждаться в терминах byte [] буферов.

Я бы не стал использовать byte просто как счетчик - ЦП может обрабатывать int более эффективно.

С short ... ну, когда у вас есть массив , это может сэкономить довольно много места, но в целом я бы просто использовал int .

3
ответ дан 6 December 2019 в 06:25
поделиться

What I think this question is getting at is that 10+ years ago it was common practice to think about what values your variables needed to store and if, for example, you were storing a percentage (0..100) you might use a byte (-128 to 127 signed or 0 to 255 unsigned) as it was adequately large for the job and thus seen as less "wasteful".

These days however such measures are unnecessary. Memory isn't typically that much of a premium and if it were you'd probably be defeated by modern computers aligning things on 32 bit word boundaries (if not 64) anyway.

Unless you're storing arrays of thousands of these things then these kinds of micro-optimizations are (now) an irrelevant distraction.

Frankly I can't remember the last time I didn't use a byte for something other than raw data and I can't think of the last time I used a short for, well, anything.

8
ответ дан 6 December 2019 в 06:25
поделиться

При использовании типов данных, которые меньше собственного размера слова ЦП, наблюдается небольшая потеря производительности. Когда центральному процессору необходимо сложить два байта, он загружает их в (32-битные) регистры размером со слово, добавляет их, регулирует их (отсекает три наиболее значимых байта, вычисляет перенос / переполнение) и сохраняет их обратно в байтах.

. Это большая работа. Если вы собираетесь использовать переменную в цикле, не делайте ее меньше, чем родное слово ЦП.

Эти типы данных существуют, чтобы код мог обрабатывать структуры, которые их содержат, из-за ограничения размера или из-за устаревших API или что-то еще.

4
ответ дан 6 December 2019 в 06:25
поделиться

Это случай «использовать правильный инструмент для работы». Если вы работаете с чем-то, что представляет собой байт, вы используете тип данных byte . Например, большая часть кода, включающего потоки байтов, требует использования массивов байтов. И наоборот, если вы просто работаете с произвольными целыми числами, используйте int или long , если они будут больше, чем может обработать int .

3
ответ дан 6 December 2019 в 06:25
поделиться