Ich erhalte folgenden Fehler. Ich habe alle Arten von Typcasting versucht, aber keine Hilfe. Bitte lassen Sie mich wissen, was hier vor sich geht.Kompilierungsfehler während der Bitverschiebung "Konnte Typ 'int' nicht implizit in 'Byte' umwandeln"
Error: Cannot implicitly convert type 'int' to 'byte'. An explicit conversion exists (are you missing a cast?)
byte[] bitVector = new byte[UInt32.MaxValue/8];
//bitVector[((UInt32)x/8)] |= (1 << ((int)(x % 8))); ERROR
//bitVector[((UInt32)x/8)] |= (1 << Convert.ToByte(x % 8)); ERROR
bitVector[((UInt32)x/8)] |= (1 << 5); //No Error
Was ist die Definition von BitVector Array –
@Mrinal Kamboj Ich habe meine Frage bearbeitet. Es ist Byte [] – user3604557
Fast doppelt - http://stackoverflow.com/questions/4123788/whats-wrong-with-this-expression-cannot-implicitly-convert-type-int-to-byte, fühlen Sie sich frei, genau zu finden duplizieren, das Typen erklärt, die von Verschiebeoperatoren akzeptiert/zurückgegeben werden (Hinweis: Byte gehört nicht dazu). Beachten Sie, dass die Regeln für Kompilierzeitkonstanten unterschiedlich sind und von einem anderen Duplikat (für die letzte Zeile des Beispiels) abgedeckt werden. –