¿Cómo lanzar un número a un byte?
Pregunta
En C y C ++ puede decirle al compilador que un número es 'largo' al poner una 'l' al final del número. por ejemplo, largo x = 0l;
¿Cómo puedo decirle al compilador de C # que un número es un byte?
Solución
De acuerdo con la especificación del lenguaje C # allí No hay forma de especificar un byte literal. Tendrá que convertir a byte para obtener un byte. Tu mejor apuesta es probablemente especificar en hexadecimal y derribar, como esto:
byte b = (byte) 0x10;
Otros consejos
byte b = (byte) 123;
aunque
byte b = 123;
hace lo mismo. Si tienes una variable:
int a = 42;
byte b = (byte) a;
Recuerda, si lo haces:
byte b = (byte)300;
no va a funcionar como esperas.
MSDN utiliza conversión implícita . No veo un sufijo de tipo de byte , pero podrías usar un reparto explícito. Simplemente usaría una constante de entero (hexadecimal) de 2 dígitos (int).
No hay necesidad de decirle al compilador. Puede asignar cualquier valor válido a la variable de byte y el compilador está bien con eso: no hay sufijo para el byte.
Si desea almacenar un byte en un objeto que debe emitir:
object someValue = (byte) 123;