byte (C#-Referenz)
Das byte-Schlüsselwort kennzeichnet einen ganzzahligen Typ, in dem Werte wie in der folgenden Tabelle angegeben gespeichert werden.
Typ |
Bereich |
Größe |
.NET Framework-Typ |
---|---|---|---|
byte |
0 bis 255 |
Ganze 8-Bit-Zahl ohne Vorzeichen |
Literale
Eine byte-Variable kann wie im folgenden Beispiel deklariert und initialisiert werden:
byte myByte = 255;
In der vorangehenden Deklaration wird das Ganzzahlliteral 255 implizit von int in byte konvertiert.Wenn der Bereich von byte vom Ganzzahlliteral überschritten wird, tritt ein Kompilierungsfehler auf.
Konvertierungen
Es findet eine vordefinierte implizite Konvertierung von byte in short, ushort, int, uint, long, ulong, float, double oder decimal statt.
Numerische Typen mit einer größeren Speichergröße, die keine Literale sind, können nicht implizit in byte konvertiert werden.Weitere Informationen zu Speichergrößen von ganzzahligen Typen finden Sie unter Tabelle ganzzahliger Typen (C#-Referenz).Betrachten Sie z. B. die beiden folgenden byte-Variablen x und y:
byte x = 10, y = 20;
Die folgende Zuweisungsanweisung führt zu einem Kompilierungsfehler, da der arithmetische Ausdruck auf der rechten Seite des Zuweisungsoperators standardmäßig den Wert int annimmt.
// Error: conversion from int to byte:
byte z = x + y;
Verwenden Sie zur Problembehebung eine Typumwandlung:
// OK: explicit conversion:
byte z = (byte)(x + y);
Es können jedoch die folgenden Anweisungen verwendet werden, bei denen die Zielvariable dieselbe oder eine höhere Speichergröße aufweist:
int x = 10, y = 20;
int m = x + y;
long n = x + y;
Darüber hinaus werden Gleitkommatypen nicht implizit in byte konvertiert.Durch die folgende Anweisung wird z. B. ein Compilerfehler erzeugt, sofern keine explizite Typumwandlung stattfindet:
// Error: no implicit conversion from double:
byte x = 3.0;
// OK: explicit conversion:
byte y = (byte)3.0;
Beim Aufrufen überladener Methoden muss eine Typumwandlung erfolgen.Betrachten Sie z. B. die folgenden überladenen Methoden, die die Parameter byte und int verwenden:
public static void SampleMethod(int i) {}
public static void SampleMethod(byte b) {}
Die Verwendung der byte-Typumwandlung gewährleistet, dass der richtige Typ aufgerufen wird. Beispiel:
// Calling the method with the int parameter:
SampleMethod(5);
// Calling the method with the byte parameter:
SampleMethod((byte)5);
Weitere Informationen über arithmetische Ausdrücke aus Gleitkomma- und ganzzahligen Typen finden Sie unter float und double.
Weitere Informationen zu impliziten numerischen Konvertierungsregeln finden Sie unter Tabelle für implizite numerische Konvertierungen (C#-Referenz).
C#-Programmiersprachenspezifikation
Weitere Informationen finden Sie in der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.
Siehe auch
Referenz
Tabelle ganzzahliger Typen (C#-Referenz)
Tabelle integrierter Typen (C#-Referenz)
Tabelle für implizite numerische Konvertierungen (C#-Referenz)
Tabelle für explizite numerische Konvertierungen (C#-Referenz)