列舉大家都不陌生,但是最近看到有的人,還在是頁面上寫死,如果列舉增減時,還要去頁面去手動修改,今天我們來看看列舉的處理方式,這裡說一下,我用的測試程式是.net core 3.1。
不多墨跡,直接上**:
定義列舉:
usingsystem;
using
system.collections.generic;
using
system.componentmodel;
using
system.text;
namespace
}
列舉的輔助類,這裡說明一下,我是通過獲取列舉上的特性來處理的:
enumutil.cs
usingsystem;
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
usingsystem;
using
system.collections.generic;
using
system.text;
namespace
}}
最後呼叫:
program.cs
usingsystem;
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 ...