Ich konvertiere Code, der in Java funktioniert, aber nicht in C #
%Vor%Dies erzeugt einen Kompilierzeitfehler "Konstanter Wert '-128' kann nicht in ein 'Byte' umgewandelt werden." Wie kann ich eine negative Zahl für ein Byte speichern?
Der Datentyp byte
in Java ist signiert (-128-127). Der entsprechende Datentyp in C # ist sbyte
.
Also ist der äquivalente C # -Code wie folgt:
%Vor% Wenn Sie ein Array von unsignierten Bytes (0-255) wünschen, ist byte
mit dem gleichen Bitmuster wie sbyte
-128 128 (0x80).
Siehe auch: Integraltypen-Tabelle (C # -Referenz)
In C # stellt ein byte
eine vorzeichenlose 8-Bit-Ganzzahl dar und kann daher keinen negativen Wert enthalten (gültige Werte reichen von 0
bis 255
). Eine Alternative ist sbyte
, was eine signierte 8-Bit-Ganzzahl ist (gültige Werte von -128
bis 127
).