Compartilhar via


byte (referência de C#)

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

Tipo

Intervalo

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 semelhante ao exemplo:

byte myByte = 255;

Na declaração precedente, a literal inteira 255 é convertido implicitamente de int para byte.Se a literal inteira 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, double, ou decimal.

Você não pode converter implicitamente não literal tipos numéricos de maior tamanho de armazenamento para byte.Para obter mais informações sobre os tamanhos de armazenamento de tipos integrais, consulte Tabela de tipos integral (referência de C#).Considere, por exemplo, os dois seguintes byte variáveis de x e y:

byte x = 10, y = 20;

A seguinte instrução de atribuição 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 há 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, o seguinte sobrecarregado métodos que usam byte e int parâmetros:

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

Usando o byte cast 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 e double.

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

Especificação da linguagem C#

Para obter mais informações, consulte Especificação de linguagem do C# A especificação da linguagem é a fonte definitiva para a sintaxe e o uso da linguagem C#.

Consulte também

Referência

Palavras-chave C#

Tabela de tipos integral (referência de C#)

Tabela de tipos internos (referência de C#)

Tabela de conversões numérico implícito (referência de C#)

Tabela de conversões numérico explícita (referência de C#)

Byte

Conceitos

Guia de programação do C#

Outros recursos

Referência de C#