c# 枚舉類型怎么用?


有很多人寫的教程都沒有像我一樣用代碼簡單說明...

所以我這里貼出來一下,免得我忘記...嘻嘻

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 枚舉類型怎么寫
{
    class Program
    {
//定義枚舉
public enum ServicePut : byte { 安裝服務 = 2, 啟動服務 = 4, 卸載服務 = 8, 驗證服務狀態 = 16, 停止服務 = 32, 嘻嘻 = 64, 哈哈 = 128, }

//輸出執行了那個枚舉形式
public static void DeployService(ServicePut jsp) { if ((jsp & ServicePut.安裝服務) == ServicePut.安裝服務) { Console.WriteLine("安裝服務"); } if ((jsp & ServicePut.啟動服務) == ServicePut.啟動服務) { Console.WriteLine("啟動服務"); } if ((jsp & ServicePut.卸載服務) == ServicePut.卸載服務) { Console.WriteLine("卸載服務"); } if ((jsp & ServicePut.驗證服務狀態) == ServicePut.驗證服務狀態) { Console.WriteLine("驗證服務狀態"); } if ((jsp & ServicePut.停止服務) == ServicePut.停止服務) { Console.WriteLine("停止服務"); } if ((jsp & ServicePut.嘻嘻) == ServicePut.嘻嘻) { Console.WriteLine("嘻嘻"); } if ((jsp & ServicePut.哈哈) == ServicePut.哈哈) { Console.WriteLine("哈哈"); } }

//主函數
static void Main(string[] args) { DeployService(ServicePut.安裝服務); DeployService(ServicePut.啟動服務); DeployService(ServicePut.卸載服務); DeployService(ServicePut.驗證服務狀態); DeployService(ServicePut.停止服務); DeployService(ServicePut.嘻嘻); Console.WriteLine("--------------------------"); DeployService(ServicePut.安裝服務 | ServicePut.啟動服務); //這里可以把兩個值按照按位運算判斷,也就是可以同時輸出兩個項 DeployService(ServicePut.安裝服務 | ServicePut.停止服務); DeployService(ServicePut.驗證服務狀態 | ServicePut.停止服務); DeployService(ServicePut.啟動服務 | ServicePut.停止服務); DeployService(ServicePut.哈哈 | ServicePut.啟動服務); DeployService(ServicePut.嘻嘻 | ServicePut.停止服務); Console.ReadKey(); } } }

 

然后枚舉的問題還有:

1 通過枚舉的名稱獲取值.

2 通過值獲取名稱.

但是只要知道了 Enum.GetValues() 的操作就可以了

foreach (var value in Enum.GetValues(typeof(ServicePut))) //遍歷這個枚舉類型
{
    if (value.ToString() == "驗證服務狀態")  //獲取枚舉的每項的名稱
    {
        var enumName = (ServicePut)value;  //然后把泛型又強轉成枚舉類型,可作為輸出
        break;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM