簡體   English   中英

C#更改枚舉中的項目的int值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM