Come trasmettere un numero a un byte?
Domanda
In C e C ++ puoi dire al compilatore che un numero è un 'lungo' mettendo una 'l' alla fine del numero. ad esempio long x = 0l;
Come posso dire al compilatore C # che un numero è un byte?
Soluzione
Secondo le specifica del linguaggio C # non è possibile specificare un byte letterale. Dovrai eseguire il cast in byte per ottenere un byte. La tua scommessa migliore è probabilmente quella di specificare in esadecimale e in giù, in questo modo:
byte b = (byte) 0x10;
Altri suggerimenti
byte b = (byte) 123;
anche se
byte b = 123;
fa la stessa cosa. Se hai una variabile:
int a = 42;
byte b = (byte) a;
Ricorda, se lo fai:
byte b = (byte)300;
non funzionerà come previsto.
MSDN utilizza conversione implicita . Non vedo un suffisso del tipo di byte , ma potresti usare un cast esplicito. Vorrei solo usare una costante intera esadecimale a 2 cifre (int).
Non c'è bisogno di dirlo al compilatore. Puoi assegnare qualsiasi valore valido alla variabile byte e il compilatore va bene con esso: non c'è suffisso per byte.
Se vuoi memorizzare un byte in un oggetto devi lanciare:
object someValue = (byte) 123;