Oltre ai motivi tecnici, perché ... C'è un principio di design qui.
che specifica l'enumerazione poiché la memorizzazione di byte è un dettaglio di implementazione. Usare l'enumerazione è un problema diverso, non dovresti sapere o preoccuparti dei dettagli di implementazione.
Nel codice client, il fatto che si stia utilizzando un enumerazione significa che si intende effettivamente utilizzare un enum, non un byte o una lunghezza ecc. Altrimenti, perché non utilizzare semplicemente il tipo di dati che si intende.
Strongly type languaged come C# si sforza di rendere solo un po 'più difficile uscire dai tuoi "contratti" di codifica, questo di solito aiuta a rendere l'app design un po' migliore.
Ora, naturalmente, non sto dicendo che non ci sono momenti in cui devi essere coinvolto nei dettagli di implementazione, un buon esempio è un object relational mapper (ORM) in cui stai mappando un tipo di dati C# in un tipo di dati del database , le enumerazioni sono un buon esempio in cui devi conoscere il suo tipo di archiviazione per mapparlo. Ma in questi casi, il suo IMO è buono da esprimere o riflettere, è una buona bandiera nelle recensioni che qui stai specificamente oltre il solito uso.
fonte
2010-04-16 04:30:12
Hai una citazione per l'ultima parte? – porges
Per una singola variabile l'ultima parte potrebbe essere corretta a causa del riempimento. Tuttavia, credo che se si dispone di una vasta gamma di enum con un tipo di byte sottostante, sarà come avere un 'byte []' invece di un 'int []'. –
Sì, quello che ha detto Jon Skeet. Ma chi diavolo usa una serie di enumerazioni? :) – EMP