2012-04-23 42 views
3

更多的興趣比實際需要... 是否有可能在C#或VB.NET中自動減少枚舉?在C#或VB.NET中減少值枚舉

public enum testEnum 
{ 
    this = -1, 
    that, 
    other, 
} 

因此,那= 2和其他= -3。

我很確定唯一的方法就是專門分配「that」和「other」,但我想知道是否有自動的方式。

編輯

要清楚,我只是談論價值的自動分配,不枚舉減少的實際價值。

+0

,我不相信有辦法做到這一點。也沒有真正的理由想要這樣做。希望如果你發現自己處於你想要這種奇怪行爲的情況下,你可以重新設計系統的「需要」部分。 – Thomas 2012-04-23 15:02:30

回答

7

不,這是不可能的。

,如果你願意的話,您必須聲明的值,或逆轉聲明:

public enum testEnum 
{ 
    other = -3, 
    that, 
    @this 
} 
+0

這是明顯的,從來沒有明顯的!謝謝你Oded – freefaller 2012-04-23 15:02:34

+0

從技術上講,這是增加不減少,因爲用戶指定,但我想它適合他的需要,因爲他可能想要一個負值的枚舉。不利之處在於您必須維護並手動計算列表中有多少項。 – Thomas 2012-04-23 15:03:26

+0

@freefaller - 嗯,我認爲在我的例子中'that'不是'-2'。 – Oded 2012-04-23 15:03:29