Partilhar via


byte (C# Reference)

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, como neste exemplo:

byte myByte = 255;

Na declaração anterior, o inteiro literal 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 tamanhos de armazenamento tipos integrais, consulte Integral Types Table (C# Reference). Considere, por exemplo, os dois seguintes byte variáveis de x e y:

byte x = 10, y = 20;

A instrução 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 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. Por exemplo, considere 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 integral, consulte float e double.

Para obter mais informações sobre regras de conversão numérica implícita, consulte o Implicit Numeric Conversions Table (C# Reference).

Especificação da linguagem C#

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

Consulte também

Referência

C# Keywords

Integral Types Table (C# Reference)

Built-In Types Table (C# Reference)

Implicit Numeric Conversions Table (C# Reference)

Explicit Numeric Conversions Table (C# Reference)

Byte

Conceitos

C# Programming Guide

Outros recursos

C# Reference