In C# (3.5) Ich versuche folgendes:Warum kann ich keine boolesche Logik für Bytes verwenden?
byte byte1 = 0x00;
byte byte2 = 0x00;
byte byte3 = byte1 & byte2;
und ich bekomme Fehler 132:. „Kann Typ 'int' auf 'byte' Eine explizite Konvertierung vorhanden ist (möglicherweise fehlt eine Guss?) Konvertieren nicht implizit ". Das Gleiche passiert mit | und ^.
Was mache ich falsch? Warum fragt es mich nach Ints? Warum kann ich keine boolesche Logik für Bytes verwenden?
Alle Berechnungen in .NET basieren auf int. Es gibt eine verwandte Frage mit ziemlich viel Diskussion. Es ist keine Antwort auf Ihre Frage, aber Sie könnten einen Einblick bekommen, wie sich C# im Allgemeinen mit Arithmetik befasst: http://stackoverflow.com/questions/941584/byte-byte-int-why –
"Weil C# nicht perfekt ist Sprache ", würde ich das erklären. Dies ist einer seiner Warzen (und im Vergleich zu anderen Sprachen hat C# bei weitem die wenigsten und die wenigsten wirkungsvollen Warzen ...) –