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

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

主站蜘蛛池模板: 美女黄频 | 娇小bbw搡bbbb搡bbbb | 亚洲欧美日韩国 | 高清在线精品一区 | 91短视频app官网下载 | 18videosex性欧美黑色 | 国产人澡人澡澡澡人 | 丝袜线观看| 欧美丰满妇大ass | 丰满女人又爽又紧又丰满 | 亚洲欧美乱日韩乱国产 | 国产精品偷窥熟女欧美激 | 黑人巨大精品欧美视频一区 | 中文字幕精品一区二区 | 日产精品一区二区三区免费 | a人片在线观看苍苍影院 | 91高清国产不卡一区二区 | 韩国福利影视一区二区三区 | 日产中文字乱码卡一卡二卡 | a亚洲欧美中文日韩在线v日本 | 香蕉有码在线视频发布 | 日本国产高清在线观看 | 欧美精品一区二区三区不卡网 | 精品国产一区二区三区国产 | 欧美精品金8天国系列 | 最近中文字幕免费高清mv视 | 亚洲天堂色在线 | 91日本在线精品高清观看 | 中美日韩亚洲中文专区小说 | 欧美一区二区三区播放 | 最新国产福利在线观看精品 | 午夜性影院在线观看视频播放 | 红杏免费视频网站入口导航 | 人与禽性777777 | 91国偷自产中文字幕婷婷 | 欧美综合在线观看日本 | 日韩精品视频一区二区三区 | 区二区三区综合片 | 可以看黄的网 | 亚洲色久婷婷 | 欧美国产日本高清不卡 |