[英]C# Change int value of item in enum
我有這個枚舉
enum Items { pen = 5, watch = 4, rubber = 1, ruler = 8};
我想將watch的值(現在是4)更改為6。所以像這樣:
Items.watch = 6;
但這不起作用。 有任何想法嗎?
枚舉的值在編譯時固定。 根據Microsoft的C#文檔 :
enum關鍵字用於聲明枚舉,這是一種獨特的類型,由一組稱為枚舉器列表的命名常量組成。
注意術語“常數”。 如果要更改枚舉條目的整數值,則必須重新編譯代碼。
無法更改枚舉常量的數值,因為它們是常量。
您可以通過設置字典將單獨的值與枚舉關聯,但這不會更改枚舉常量本身的值:
private static IDictionary<Items,int> AssociatedValue = new Dictionary<Items,int> {
{Items.pen, 5}, {Items.watch, 4}, {Items.rubber, 1}, {Items.ruler, 8}
};
現在您可以設定
AssociatedValue[Items.watch] = 6
但是當您需要整數值時,必須使用AssociatedValue[enumVal]
代替(int)enumVal
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.