byte (справочник по C#)
Ключевое слово byte обозначает целочисленный тип данных, в котором хранятся значения, описанные в следующей таблице.
Тип |
Диапазон |
Размер |
Тип платформы .NET Framework |
---|---|---|---|
byte |
От 0 до 255 |
8-разрядное целое число без знака |
Литералы
Переменную типа byte можно объявить и инициализировать, как показано в этом примере:
byte myByte = 255;
В приведенном выше объявлении целочисленный литерал 255 неявным образом преобразуется из типа int в тип byte.Если целочисленный литерал выходит за пределы диапазона значений типа byte, то происходит ошибка компиляции.
Преобразования
Существует предопределенное преобразование типа byte в тип short, ushort, int, uint, long, ulong, float, double или decimal.
Невозможно неявным образом преобразовать не являющиеся литералами числовые типы большего размера при хранении в тип byte.Дополнительные сведения о размере целочисленных типов при хранении см. в разделе Таблица целых типов (Справочник по C#).Рассмотрим, например, следующие две переменные x и y типа byte:
byte x = 10, y = 20;
Следующая инструкция назначения приведет к ошибке компиляции, потому что арифметическое выражение, расположенное справа от оператора назначения, по умолчанию оценивается как имеющее тип int.
// Error: conversion from int to byte:
byte z = x + y;
Для устранения этой проблемы выполните преобразование:
// OK: explicit conversion:
byte z = (byte)(x + y);
Тем не менее, существует возможность использовать следующие инструкции, в которых переменная назначения имеет такой же или больший размер при хранении:
int x = 10, y = 20;
int m = x + y;
long n = x + y;
Кроме того, неявного преобразования типов с плавающей запятой в тип byte не существует.Например, следующая инструкция приводит к ошибке компилятора, если не выполнить явное приведение типов:
// Error: no implicit conversion from double:
byte x = 3.0;
// OK: explicit conversion:
byte y = (byte)3.0;
При вызове перегруженных методов необходимо использовать приведение типов.Рассмотрим, например, следующие перегруженные методы, в которых используются параметры типов byte и int:
public static void SampleMethod(int i) {}
public static void SampleMethod(byte b) {}
Использование приведения типа byte гарантирует вызов метода правильного типа, например:
// Calling the method with the int parameter:
SampleMethod(5);
// Calling the method with the byte parameter:
SampleMethod((byte)5);
Сведения об арифметических выражениях, в которых одновременно используются переменные типов с плавающей запятой и целочисленных типов, см. в разделе float и double.
Дополнительные сведения о правилах выполнения неявных числовых преобразований см. в разделе Таблица неявных числовых преобразований (Справочник по C#).
Спецификация языка C#
Дополнительные сведения см в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.
См. также
Ссылки
Таблица целых типов (Справочник по C#)
Таблица встроенных типов (Справочник по C#)
Таблица неявных числовых преобразований (Справочник по C#)
Таблица явных числовых преобразований (Справочник по C#)
Основные понятия
Руководство по программированию на C#