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 |
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
Referência
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