byte (справочник по C#)

Ключевое слово byte обозначает целочисленный тип данных, в котором хранятся значения, описанные в следующей таблице.

Тип

Диапазон

Размер

Тип платформы .NET Framework

byte

От 0 до 255

8-разрядное целое число без знака

Byte

Литералы

Переменную типа 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#)

Byte

Основные понятия

Руководство по программированию на C#

Другие ресурсы

Справочник по C#