Kann jemand den Unterschied in C# zwischen einem 'Byte' und 'Byte []' erklären? Meine Verwirrung ist, warum ich kein einzelnes Byte-Element aus dem byte [] -Array in eine Variable, die als Typ "Byte" definiert ist, zuweisen kann.Konvertieren von Byte [] in Byte
Zum Beispiel funktioniert das:
byte binSize;
binSize = br.ReadByte();
Aber dies nicht:
byte binSize1;
binSize1 = br.ReadBytes(1);
Ich habe an der Microsoft Binary Reader class sah und ich sehe, dass das erste Beispiel ein einzelnes Byte zurückgibt und die zweite Gibt ein Array von Bytes zurück. Ich verstehe es. Aber gibt es eine einfache Möglichkeit, das gelesene einzelne Byte durch 'ReadBytes' zu konvertieren und so zu transformieren, dass es in einer 'Byte'-Variablen gespeichert werden kann?
Dies ist ein Problem, wenn ich das, was ich lese, in eine ganze Zahl konvertieren soll. Nur die Zeile mit 'binSize' unten funktioniert, die Zeile mit 'binSize1' nicht.
txt.Text = BitConverter.ToInt16(binSize, 0).ToString();
txt.Text = BitConverter.ToInt16(binSize1, 0).ToString();
Der Fehler, den ich mit der zweiten Zeile erhalten, ist byte [] 'auf 'byte'
'br.ReadBytes (1) [0];' –
Es dauert zwei Bytes, um ein int16 darzustellen. Sind Sie sicher, dass Sie ein einzelnes Byte konvertieren müssen? –
Der Rückgabetyp der Funktion 'ReadBytes (int n)' ist auf 'byte []' festgelegt, selbst wenn 'n = 1' wird ein 1-Byte-Elementarray zurückgegeben.Es ändert seinen Rückgabewerttyp basierend auf der Eingabe "n" nicht. Einfach das erste Element des Arrays deaktivieren, um dieses Byte zu erhalten. –