日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#編程技巧:輕松遍歷枚舉類型

admin
2024年10月22日 8:3 本文熱度 902

在C#中,枚舉(enum)是一種特殊的數據類型,它允許我們為整型值賦予更易于理解的名稱。有時可能需要遍歷枚舉的所有成員,例如,為了顯示或處理每個枚舉值。

以下是如何遍歷枚舉的幾種常見方法:

方法一:使用 Enum.GetNames 和 Enum.GetValues

Enum.GetNames 方法返回一個包含枚舉中所有成員名稱的字符串數組,而 Enum.GetValues 方法返回一個包含枚舉中所有成員值的數組。

?using System;
enum Colors{    Red,    Green,    Blue,    Yellow}
class Program{    static void Main()    {        // 使用 Enum.GetNames 遍歷枚舉名稱        string[] names = Enum.GetNames(typeof(Colors));        foreach (string name in names)        {            Console.WriteLine(name);        }

       // 使用 Enum.GetValues 遍歷枚舉值        Array values = Enum.GetValues(typeof(Colors));        foreach (Colors color in values)        {            Console.WriteLine(color);        }    }}

方法二:使用 foreach 和強制轉換

可以直接將枚舉類型轉換為數組,然后使用 foreach 循環遍歷。

using System;
enum Colors{    Red,    Green,    Blue,    Yellow}
class Program{    static void Main()    {        // 直接將枚舉類型轉換為數組并遍歷        Colors[] colorsArray = (Colors[])Enum.GetValues(typeof(Colors));        foreach (Colors color in colorsArray)        {            Console.WriteLine(color);        }    }}

方法三:使用泛型方法

可以創建一個泛型方法來遍歷任何枚舉類型。

using System;using System.Collections.Generic;
enum Colors{    Red,    Green,    Blue,    Yellow}
class Program{    static void Main()    {        PrintEnumValues<Colors>();    }

   static void PrintEnumValues<TEnum>() where TEnum : struct, Enum    {        foreach (TEnum value in Enum.GetValues(typeof(TEnum)))        {            Console.WriteLine(value);        }    }}

在這個例子中,PrintEnumValues 方法是一個泛型方法,它接受一個類型參數 TEnum,該參數必須是 struct 和 Enum 類型的約束。這使得我們可以將任何枚舉類型傳遞給這個方法并遍歷其值。


方法四:使用 Enum.IsDefined(不常用,但可用于特定需求)

雖然 Enum.IsDefined 通常用于檢查某個值是否在枚舉中定義,但可以結合它和一些循環來遍歷枚舉。然而,這種方法不太常用,且效率較低,因為需要手動管理循環的邊界。

using System;
enum Colors{    Red = 0,    Green = 1,    Blue = 2,    Yellow = 3}
class Program{    static void Main()    {        int minValue = (int)Enum.GetValues(typeof(Colors)).GetValue(0);        int maxValue = (int)Enum.GetValues(typeof(Colors)).GetValue(Enum.GetValues(typeof(Colors)).Length - 1);

       for (int i = minValue; i <= maxValue; i++)        {            if (Enum.IsDefined(typeof(Colors), i))            {                Colors color = (Colors)i;                Console.WriteLine(color);            }        }    }}

這種方法雖然可以實現目標,但不如前面幾種方法直觀和高效。


該文章在 2024/10/23 9:55:48 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产老熟女精品视 | 国精品日韩欧美一区二区三区 | 国产精品高清尿小便嘘嘘主演 | 精品欧美在 | 国产精品一区二区免费 | 在线观看亚洲欧美日本 | 中国领先的综合视频网站 | 国产高清看片日韩 | 国产精品日韩欧美一区二区三区 | 国产原创剧 | 日韩专区在线播放 | 亚洲日韩欧美在线一区二区 | 日产国产一区二区 | 日韩男女性生活视频在线观看 | 欧美日韩亚洲中文字幕吗 | 给我免费观看片在线观看中国 | 91最懂男人的午夜社区 | 男人tv天堂精品一区二区 | 在线观看精品日韩视频 | 国产欧美日韩一区二区三区在 | 亚洲高清视频一区 | 欧美日韩精品在线播放 | 国产mv在线天 | 国产超级在线视频观看 | 丰满的女房东在线观看6 | 国内偷视频在线观看 | 国产97色在线 | 午夜日韩欧美电影在线 | 中文字幕亚洲精品 | 在线不卡中文字幕 | 亚洲综合娱乐在线视频 | 国产观看免费在线久 | 亚洲一区二区观看播放 | 国产免费一区二区三区免费视频 | 日韩一区二区三区免费播放 | 国内精品尹人香蕉综合在线观看 | 亚洲免费网站在线观看 | 一区二区三区视频免费 | 亚州一级在线播放 | 亚洲精品变态另类虐交 | 成人欧美一区二区三区在线蜜 |