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);
È stato utile?

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;

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top