Ho bisogno di usare questo enum nella mia applicazione C#, ma non mi permetterà di usare questi valori. Quando indico il tipo come uint posso usare il valore -1, e quando specifichi int non posso usare gli ultimi 2 valori. C'è un modo per usare qui la parola chiave non selezionata per permettermi di definire tutti questi valori? Questi valori provengono da una fonte esterna, quindi non posso cambiarli.Come utilizzare valori non sicuri in un enum?
internal enum MyValues : int
{
value1 = -1,
value2 = 0,
value3 = 0x80000000,
value4 = 0xFFFFFFFF
}
Utilizzando un tipo di dati a 64 bit non è un'opzione, sto usando interop per restituire un valore a 32 bit. –
Se -1 e 0xFFFFFFFF sono tecnicamente la stessa cosa quando si utilizza un uint, suppongo di poter semplicemente rimuovere il valore -1? –
@Jon: -1 non esiste quando stai usando uint - dovresti effettuare una conversione non controllata. –