Unter der Annahme, dass jedes bool
ein Bit von seinem entsprechenden short
darstellt (was vermutlich der Grund dafür ist, dass Sie die Größe mit 16 multipliziert haben), können Sie die Konvertierung wie folgt durchführen:
Die Idee besteht darin, 16 booleans pro short
zu erstellen, indem Sie Enumerable.Range
, die Zahl mit (1 << i)
maskieren und das Ergebnis mit Null vergleichen.
Von der msdn-Seite von Convert.ToBoolean
heißt das Jeder 0
Wert wird in false
und jeder nicht 0
Wert in true
:
BEARBEITEN:
Wenn Sie Ihre bool[]
basierend auf den in short
value gesetzten Bits setzen, können Sie Folgendes verwenden: