Frage

Ich weiß, dass ich einen Wert speziell mit einem Schwimmer zuweisen kann, indem Sie

float y = 4.5f;

Ich möchte die gleiche Sache zu tun, außer als ein Byte. Wie mache ich das? Ich habe die MSDN-Dokumentation überprüft und nichts im Zusammenhang damit finden. Auch, was ist das genannt?

Danke,

[Bearbeiten]

Aus Gründen der Klarheit der Code ich dies mit auf ist

byte myByte = a==b?1:0;

und die Fehler, die ich erhalten, ist

  

Kann nicht implizit Typ ‚int‘ konvertieren   zu 'Byte?'. Eine explizite Konvertierung   existiert (möglicherweise fehlt eine Besetzung?)

Lösung

byte myByte = (byte)(a==b?1:0);
War es hilfreich?

Lösung

Die byte, sbyte, short und ushort Datentypen haben nicht bezeichnet Suffixe. Jedoch kann Ganzzahlliteral auf Variablen dieser Datentypen zugeordnet werden und implizit konvertiert wird, unter der Annahme, dass der Wert für die Speicherung in den Variablen geeignet ist. Nur für das Protokoll sind hier die definierten Literale in C #:

uint: U or u
long: L or l
ulong: UL or ul
float: F or f
decimal: M or m

Andere Tipps

Ich würde nur eine Besetzung verwenden.

// 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;

oder führt eine Konstante ist.

// Okay
const Byte foo = 57;
Byte data = foo;

// Compiler Error
const Byte foo = -17;
Byte data = foo;

Nach diesem Beitrag Byte hat keine solche Suffix.

Sie brauchen kein Suffix, wenn ein Byte zu definieren:

   byte b = 1;

Sie müssen nur sicherstellen, dass Ihr Wert zwischen 0 und 255 ist.

MSDN bezieht sich auf die Verwendung des F als ‚Suffix‘, einen wörtlichen Typen erzwingen.

Sehen Sie im folgenden Artikel unter Cis Online für weitere Informationen

Hex-Notation:

Byte b = 0xff;

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top