In C# (3,5) provo il seguente:Perché non posso eseguire la logica booleana sui byte?
byte byte1 = 0x00;
byte byte2 = 0x00;
byte byte3 = byte1 & byte2;
e ottengo l'errore 132:. "Impossibile convertire implicitamente il tipo 'int' a 'byte' Esiste una conversione esplicita (Vi manca un cast?) ". Lo stesso succede con | e ^.
Cosa sto sbagliando? Perché mi sta chiedendo di ints? Perché non posso eseguire la logica booleana sui byte?
Tutta l'aritmetica in .NET è basata su int. C'è una domanda correlata con un po 'di discussione. Non è una risposta alla tua domanda, ma potresti avere un'idea di come C# si occupa dell'aritmetica in generale: http://stackoverflow.com/questions/941584/byte-byte-int-why –
"Perché C# non è perfetto lingua ", è come lo spiegherei. Questa è una delle sue verruche (e rispetto ad altre lingue, C# è di gran lunga la meno invasiva e meno invasiva ...) –