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?

È stato utile?

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;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top