1. 程式人生 > >C#列舉操作

C#列舉操作

C#中的列舉基本操作

 /// <summary>
/// 訂單稽核狀態
/// </summary>
public enum GetState
{
    [Description("稽核中")]
    inReview = 1,            
    [Description("稽核通過")]
    approve = 2,
    [Description("退回")]
    return = 0,
}
/// <summary>
/// 列舉欄位描述列表
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public static IList<string> GetEnumDescriptionList(Type t)
{
    var valueDescList = Enum.GetValues(t).Cast<Enum>().Select(m => GetEnumDescription(m)).ToList();
    return valueDescList;
}
/// <summary>
/// 列舉下拉列表
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public static IList<SelectListItem> GetEnumList(Type t)
{
    var enumList = Enum.GetValues(t).Cast<Enum>()
    .Select(m =>
    {
        return new SelectListItem()
        {
            Text = GetEnumDescription(m),
            Value = Enum.GetName(t, m)
        };
    }).ToList();
    return enumList;
}
/// <summary>
/// 獲取列舉的描述資訊(Description特性)
/// </summary>
/// <param name="enumValue">列舉值</param>
/// <returns></returns>
public static string GetEnumDescription(Enum enumValue)
{
    Type type = enumValue.GetType();
    FieldInfo fi = type.GetField(enumValue.ToString());
    object[] attrs = fi.GetCustomAttributes(typeof(DescriptionAttribute), true);
    if (attrs.Length > 0)
        return ((DescriptionAttribute)attrs[0]).Description;
    return "";
}
int 型別轉對應的列舉值
(EnumType)model.SaleState

int 型別獲取列舉的描述資訊
GetEnumDescription((EnumType)model.SaleState)





相關推薦

C#列舉操作

C#中的列舉基本操作 /// <summary> /// 訂單稽核狀態 /// </summary> public enum GetState {     [Descriptio

C# 列舉操作工具類

<span style="font-size:14px;">using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Ref

C# 列舉 Enum 常用操作

1.定義 public enum Musics{    音樂1 = 1,    音樂2 = 2,    音樂3 = 3,    音樂4 = 4,    音樂5, 音樂6, 音樂7, 音樂8=10

C#中foreach出現“集合已修改 可能無法執行列舉操作”的解決方法

不要在列舉集合的操作(例如foreach)中去執行修改集合的操作。很多文章中提出解決方法是將foreach改為for迴圈,這裡記錄一種簡便方法。如果需要修改集合,那麼你應該先使用 ToArray() 方法,例如?1234foreach (var x in Mylist.ToA

Objetive-C列舉位移操作&Swift列舉位移操作

Objective-C 列舉 typedef NS_ENUM(NSInteger,LineDirection){ LineDirectionTop = 1 << 0, Li

C# 集合類Dictionary的遍歷和修改(防止錯誤:集合已修改;可能無法執行列舉操作。)

       C#中直接對集合Dictionary進行遍歷並修改其中的值,會報錯,如下程式碼就會報錯:集合已修改;可能無法執行列舉操作。程式碼如下 public void ForeachDic() { Dictionary<String, In

網站增加《C++ Builder 操作指南》欄目,歡迎拍磚

dal cell res cpp position tsp cli welcome page 網站增加《C++ Builder 操作指南》欄目 http://www.cppfans.com/cbknowledge/opguide/ 歡迎拍磚 文檔索引 IDE外

c++ --string操作

col 匹配 borde append width 開始 不支持 wid font 順序容器--額外的string操作   除了順序容器共同的操作之外,string類型還提供了一些額外的操作。這些操作中大致可以分為兩部分:   1. 提供string類和C風格字符出租之

C#時間操作

otn 時分秒 else ret nth per duration dbn dto using System; namespace DotNet.Utilities { ///<summary> ///時間類 ///1、SecondToMinute(int

c#datatable操作

.so dex 架構 排序 wrapper [0 grid zhang 通過 c#操作datatable 1.創建表 DataSet ds=new DataSet(); DataTable dt=new DataTable("User"); ds.Add(dt); dt.C

c#判斷操作系統是32位還是64位

ping interop 64位 lin last 直接 run 遇到 roc 做一個c#項目時,遇到要獲取操作系統位數的問題,在網上找了幾個小時,都沒有找到比較完整的解決方案。話不多說,直接上可以運行的代碼(簡單、粗暴) using System.Runtime.Con

C#_Excel操作方法匯總

pxn ugo sm4 方法 blank pcc 操作方法 exce mcs S付qcd杜Co肇戮2http://www.zcool.com.cn/collection/ZMTg0MTYyNzI=.html 2野1室4a凹韌84赫shttp://www.zcool.com

C# Sftp操作

cal password protocol none filetype 如果 session delete jsch SFTP釋義-----引自百度百科 sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。

c# DataTable 操作總結 幹貨

dataview wro 刪除 列名 lba logs int sin int32 第一個是添加datatable以及操作 第二是在已有的table上操作 基本上所有的都應該有涵蓋 如果沒有留言我好更新。 一、 添加引用 using System.Data;

C#中操作數據庫技術之ExecuteNonQuery用法

pen cte assign == ted for 返回 簡單的 splay 最近在補基礎知識,剛好補到C#中對數據庫操作的一些技術,今天學習了ExecuteNonQuery的東西,看自己項目維護項目的代碼和網上資料查詢,基本上搞懂了ExecuteNonQuery的用法,小

C++關於操作系統的判斷macro

操作 art c中 war define ++ defined code 類型 C++中使用macro判斷OS類型 #ifdef ??? ...... #endif see: http://nadeausoftware.com/articles/2012/01/c_c_ti

c#json操作

ID ict AS json pts pla scrip cti script 引用中 增加 system.web.Extension; 和system.web.services ; json 轉對象 private T scriptDeserialize<T&g

Python與C/C++互操作

增加 包裝 eap c程序 得到 二進制 說明 數據 and Python調用C/C++ Python調用C/C++的方法可以分為兩類: 手寫擴展模塊:除了被調用的C/C++函數外,一般還需要編寫包裹函數、導出表、導出函數、編譯腳本等代碼。 使用封裝庫的接口:比如官方的c

C#來操作Word

user 顏色 成功 arp 設置 雙線 dir atl 就是 創建Word; 插入文字,選擇文字,編輯文字的字號、粗細、顏色、下劃線等; 設置段落的首行縮進、行距; 設置頁面頁邊距和紙張大小; 設置頁眉、頁碼; 插入圖片,設置圖片寬高以及給圖片添加標題; 插入表格,格式化

翻譯 | “擴展asm”——用C表示操作數的匯編程序指令

逗號 repr 告訴 ica 輸出格式 就是 發生 防止 ESS 本文翻譯自GNU關於GCC7.2.0版本的官方說明文檔,第6.45.2小節。供查閱討論,如有不當處敬請指正…… 通過擴展asm,可以讓你在匯編程序中使用C中的變量,並從匯編代碼跳轉到C語言標號。在匯