C # Wie konvertiert man short [] in bool []?

8
%Vor%

Aber kann nicht korrekt konvertiert werden.
Ich möchte von kurz [] zu bool [] konvertieren, aber ich weiß nicht wie.

    
Hoony 06.04.2017, 11:26
quelle

3 Antworten

14

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:

%Vor%

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.

    
dasblinkenlight 06.04.2017, 11:30
quelle
4

Von der msdn-Seite von Convert.ToBoolean heißt das Jeder 0 Wert wird in false und jeder nicht 0 Wert in true :

konvertiert %Vor%

BEARBEITEN:
Wenn Sie Ihre bool[] basierend auf den in short value gesetzten Bits setzen, können Sie Folgendes verwenden:

%Vor%

Arbeitsbeispiel

    
m.rogalski 06.04.2017 11:29
quelle
1
%Vor%     
oviuan 06.04.2017 11:41
quelle

Tags und Links