C 中列舉的使用

2022-08-16 11:45:09 字數 2842 閱讀 9570

列舉大家都不陌生,但是最近看到有的人,還在是頁面上寫死,如果列舉增減時,還要去頁面去手動修改,今天我們來看看列舉的處理方式,這裡說一下,我用的測試程式是.net core 3.1。

不多墨跡,直接上**:

定義列舉:

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.text;

namespace

}

列舉的輔助類,這裡說明一下,我是通過獲取列舉上的特性來處理的:

enumutil.cs

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.reflection;

using

system.runtime.serialization;

using

system.text;

namespace

//////

獲取列舉的鍵值對集合

/// ///

///public

static dictionarygetenumintnamedict(enum e));}

public

static dictionarystring> getenumnamevaluedict(enum e, converterconvert)

fieldinfo fields =enumtype.getfields();

if (fields != null

)

toutput val =convert(f.getvalue(e));

dict.add(val, name);

}return

dict;

}return

null

; }

//////

獲取列舉的鍵值對集合

/// ///

///public

static dictionarygetenumvarnamedict(enum e)

fieldinfo fields =enumtype.getfields();

if (fields != null

)

dict.add(f.name, name);

}return

dict;

}return

null

; }

private

static sortedliststring> enumdesciptiondict = new sortedliststring>();

//////

獲取列舉的描述

/// ///

///public

static

string getdescription(this

enum value)

//////

獲取特性

/// ///

///public

static descriptionattribute getattribute(this

enum value)

}}

定義乙個呼叫類,當然你也可以直接呼叫:

commonenumsdict.cs

using

system;

using

system.collections.generic;

using

system.text;

namespace

}}

最後呼叫:

program.cs

using

system;

namespace

console.writeline(

"--------------------------");

var payvalues = enum.getvalues(typeof

(status));

foreach (var v in

payvalues)

console.writeline(

"--------------------------");

foreach (var item in

commonenumsdict.statusstrdict)

var del =status.deleted.getattribute();

console.writeline(

"del:

" +del.description);

console.readline();}}

}

結果:key:-1,value:已刪除

key:0,value:未處理

key:1,value:正常

--------------------------

key:0,value:未處理

key:1,value:正常

key:-1,value:已刪除

--------------------------

key:deleted,value:已刪除

key:init,value:未處理

key:normal,value:正常

del:已刪除

c 中列舉的使用

列舉在系統中廣泛使用。對於整個系統中統一的定義某類標準化使用非常重要。列舉的使用,主要使用值去判定是否相等,內容經常是作為顯示說明。為了解決有時顯示說明中帶特殊符號時,要在說明中去備註。取得備註然後作為顯示說明也是乙個需要解決的問題。舉例說明 通訊型別 public enum enumcommtyp...

C 中列舉型別的使用總結

解析 它是乙個使用者宣告的值型別 示例 enum suit suit表示一副牌,它有4個花色 梅花 clubs 方塊 diamonds 紅心 hearts 黑桃 spades sealed class example 使用規則 列舉的宣告可以出現在類宣告的相同地方。列舉的宣告包括名字 訪問許可權 內...

C 中列舉與位列舉的區別和使用

呼叫普通列舉時如圖所示,呼叫位列舉多選時需要中間加乙個 列舉和位列舉的定義 位列舉定義時需要加乙個 flags 還要賦值第二個是第乙個的二倍 class program 判斷這個學生是否包含 if hobby.吃.hasflag hobby.吃 console.readkey 學生類 public ...