Byte (referência C#) 

The byte palavra-chave denota um tipo integral que armazena valores conforme indicado na tabela a seguir.

Type (Tipo)

Intervalo

Size (Tamanho)

Tipo .NET Framework

byte

0 a 255

Inteiro de 8 bits sem-sinal

System.Byte

Literais

Você pode declarar e inicializar um byte variável, como neste exemplo:

byte myByte = 255;

Na declaração anterior, o número inteiro literal 255 é implicitamente convertido de int to byte. Se o número inteiro literal excede o intervalo de byte, ocorrerá um erro de compilação.

Conversões

Há uma conversão implícita predefinida de byte para curto, ushort, int, uint, longo, ULong, float, duplo, ou decimal.

Não é possível converter implicitamente tipos numéricos não literal do maior dimensionar de armazenamento em byte. Para obter mais informações sobre tamanhos de armazenamento dos tipos integrais, consulte Integral tabela Tipos (referência C#). Considere, por exemplo, os dois seguintes byte variáveis x e y:

byte x = 10, y = 20;

A demonstrativo de atribuição a seguir produzirá um erro de compilação, porque a expressão aritmética no lado direito do operador de atribuição é avaliada como int Por padrão.

// Error: conversion from int to byte:
byte z = x + y;

Para corrigir esse problema, use um cast:

// OK: explicit conversion:
byte z = (byte)(x + y);

É possível no entanto, usar as instruções a seguir onde a variável de destino tem o mesmo tamanho de armazenamento ou um tamanho de armazenamento maior:

int x = 10, y = 20;
int m = x + y;
long n = x + y;

Além disso, não haverá nenhuma conversão implícita de tipos de ponto flutuante para byte. Por exemplo, a instrução a seguir gera um erro do compilador, a menos que seja usada uma conversão explícita:

// Error: no implicit conversion from double:
byte x = 3.0; 
// OK: explicit conversion:
byte y = (byte)3.0;

Ao chamar métodos sobrecarregados um cast deve ser usado.Considere, por exemplo, que o seguinte sobrecarregado a métodos que uso byte e int parâmetros:

public static void SampleMethod(int i) {}
public static void SampleMethod(byte b) {}

Usando o byte elenco garante que o tipo correto é chamado, por exemplo:

// Calling the method with the int parameter:
SampleMethod(5);
// Calling the method with the byte parameter:
SampleMethod((byte)5);

Para obter informações sobre expressões aritméticas com tipos mistos de ponto flutuante e tipos integrais, consulte float and duplo.

Para obter mais informações em regras de conversão numérica implícito, consulte o Numérico tabela Conversions (referência C#) implícita.

Especificação da linguagem C#

Para obter mais informações, consulte as seções a seguir no Especificação da linguagem C#:

  • 1.3 Tipos e variáveis

  • 4.1.5 Tipos integrais

Consulte também

Conceitos

Guia de Programação C#

Referência

Palavras-chave C#

Integral tabela Tipos (referência C#)

Tabela tipos internas (referência C#)

Numérico tabela Conversions (referência C#) implícita

Numérico tabela Conversions (referência C#) explícita 

Byte

Outros recursos

Referência C#