Como converter um número para um byte?
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?
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;