En C# (3.5) Je les opérations suivantes:Pourquoi ne puis-je pas faire de logique booléenne sur les octets?
byte byte1 = 0x00;
byte byte2 = 0x00;
byte byte3 = byte1 & byte2;
et j'obtiens l'erreur 132:. « Impossible de convertir implicitement le type 'int' à 'octet' existe une conversion explicite (vous manque un casting?) ". La même chose arrive avec | et ^.
Qu'est-ce que je fais mal? Pourquoi me pose-t-il des questions? Pourquoi ne puis-je pas faire de logique booléenne sur les octets?
Toute l'arithmétique dans .NET est basée sur int. Il y a une question connexe avec beaucoup de discussion. Ce n'est pas une réponse à votre question, mais vous pourriez avoir un aperçu de la façon dont C# traite l'arithmétique en général: http://stackoverflow.com/questions/941584/byte-byte-int-why –
"Parce que C# n'est pas parfait la langue ", c'est ainsi que je l'expliquerais. C'est un de ses verrues (et comparé à d'autres langages, C# a de loin les moins et les moins percutants ...) –