我需要在我的C#應用程序中使用此枚舉,但它不會讓我使用這些值。當我指定類型爲uint時,我可以使用-1值,並且當我指定int時,我不能使用最後2個值。有沒有辦法在這裏使用unchecked關鍵字來允許我定義所有這些值?這些值來自外部來源,所以我無法改變它們。如何在枚舉中使用不安全的值?
internal enum MyValues : int
{
value1 = -1,
value2 = 0,
value3 = 0x80000000,
value4 = 0xFFFFFFFF
}
使用64位數據類型不是一個選項,我使用互操作來返回一個32位值。 – 2010-04-12 16:11:57
如果在使用uint時-1和0xFFFFFFFF在技術上是相同的,我想我可以刪除-1值? – 2010-04-12 16:13:15
@Jon:當你使用uint時不存在-1 - 你必須做一個未經檢查的轉換。 – 2010-04-12 16:14:04