Assicurarsi che il numero è gettato correttamente in .NET
Domanda
So che posso assegnare un valore specifico per un galleggiante facendo
float y = 4.5f;
Io voglio fare la stessa cosa, se non come un byte. Come faccio a fare questo? Ho controllato la documentazione MSDN e non riesco a trovare tutto ciò che riguarda questo. Inoltre, che cosa è questo chiama?
Grazie,
[Edit]
Per chiarezza il codice che sto utilizzando questo su è
byte myByte = a==b?1:0;
e l'errore che ottengo è
Impossibile convertire implicitamente il tipo 'int' a 'byte?'. Una conversione esplicita esiste (che le manca un cast?)
Soluzione
byte myByte = (byte)(a==b?1:0);
Soluzione
Il byte
, sbyte
, short
e dati ushort
tipi non hanno suffissi designati. Tuttavia, letterale intero possono essere assegnati alle variabili di questi tipi di dati e sarà implicitamente convertito, assumendo che il valore è appropriato per la memorizzazione nella variabile. Solo per la cronaca ecco i letterali definiti in C #:
uint: U or u
long: L or l
ulong: UL or ul
float: F or f
decimal: M or m
Altri suggerimenti
Vorrei solo usare un cast.
// Okay
Byte data = (Byte) 57;
// Error (but I don't know if it is a compiler error or a runtime error)
Byte data = (Byte) -17;
o introdurre una costante.
// Okay
const Byte foo = 57;
Byte data = foo;
// Compiler Error
const Byte foo = -17;
Byte data = foo;
questo post , byte non ha tale suffisso.
Non hai bisogno di un suffisso quando si definisce un byte:
byte b = 1;
Hai solo bisogno di garantire che il valore è compreso tra 0 e 255.
MSDN si riferisce all'uso della F come 'suffisso', forzando un tipo letterale.
Vedere il seguente articolo a do diesis online per ulteriori informazioni
Hex:
Byte b = 0xFF;