Frage

In C und C ++ können Sie die Compiler sagen, dass eine Zahl ist ein ‚lange‘ durch ein ‚l‘ am Ende der Nummer setzen. Beispiel lang x = 0l;

Wie kann ich sagen, der C # Compiler, der eine Zahl ein Byte?

War es hilfreich?

Lösung

Nach der Sprache C # Spezifikation dort ist keine Möglichkeit, ein Byte wörtliche angeben. Sie werden auf Byte, um einen Byte zu bekommen müssen niedergeschlagen. Ihre beste Wette ist wahrscheinlich in hex zu spezifizieren und niedergeschlagen, wie folgt aus:

byte b = (byte) 0x10;

Andere Tipps

byte b = (byte) 123; 

obwohl

byte b = 123;

macht das Gleiche. Wenn Sie eine Variable:

int a = 42;
byte b = (byte) a;

Denken Sie daran, wenn Sie das tun:

byte b = (byte)300;

es wird nicht gehen wie erwartet zu arbeiten.

MSDN verwendet implizite Konvertierung . Ich sehe nicht ein Byte Typsuffix , aber Sie könnten eine explizite Umwandlung verwenden. Ich würde nur eine 2-stellige hexadezimale ganze Zahl verwenden (int) konstant.

Keine Notwendigkeit, den Compiler zu erzählen. Sie können einen beliebigen gültigen Wert der Byte-Variablen zuweisen und der Compiler ist nur gut mit ihm. Es gibt kein Suffix für Byte

Wenn Sie ein Byte in einem Objekt speichern möchten, müssen Sie werfen:

object someValue = (byte) 123;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top