Durch ODER-Verknüpfung von Bytes in C # erhalten Sie int [duplicate]

Diese Frage hat hier bereits eine Antwort:

Linksverschiebung 255 (als Byte) 7 Antworten

Ich habe diesen Code.

byte dup = 0;
Encoding.ASCII.GetString(new byte[] { (0x80 | dup) });

Wenn ich versuche zu kompilieren, erhalte ich:

Der Typ 'int' kann nicht implizit in 'byte' konvertiert werden. Es liegt eine explizite Konvertierung vor (Fehlt Ihnen eine Besetzung?)

Warum passiert das? Sollte nicht | zwei Bytes ergeben ein Byte? Die beiden folgenden Arbeiten stellen sicher, dass jedes Element ein Byte ist.

Encoding.ASCII.GetString(new byte[] { (dup) });
Encoding.ASCII.GetString(new byte[] { (0x80) });

Antworten auf die Frage(3)

Ihre Antwort auf die Frage