Pergunta

Em C e C ++, você pode dizer ao compilador que um número é um 'long', colocando um 'l' no final do número. por exemplo longo x = 0D;

Como posso saber o compilador C # que um número é um byte?

Foi útil?

Solução

De acordo com a especificação linguagem C # lá há nenhuma maneira de especificar um literal byte. Você vai ter que derrubará por byte, a fim de obter um byte. Sua melhor aposta é provavelmente para especificar em hexadecimal e abatida, como este:

byte b = (byte) 0x10;

Outras dicas

byte b = (byte) 123; 

embora

byte b = 123;

faz a mesma coisa. Se você tem uma variável:

int a = 42;
byte b = (byte) a;

Lembre-se, se você fizer isso:

byte b = (byte)300;

não vai funcionar da maneira esperada.

MSDN usa conversão implícita. Eu não vejo um href="http://msdn.microsoft.com/en-us/library/aa664674(VS.71).aspx" rel="nofollow noreferrer"> tipo , mas você pode usar uma conversão explícita. Eu tinha acabado de usar um hexadecimal constante inteira (int) de 2 dígitos.

Não há necessidade de dizer ao compilador. Você pode atribuir qualquer valor válido para a variável byte eo compilador é muito bem com ele:. Não há nenhum sufixo para o byte

Se você deseja armazenar um byte em um objeto que você tem que elenco:

object someValue = (byte) 123;
scroll top