欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

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

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

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

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

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

Enum.GetNames 方法返回一個包含枚舉中所有成員名稱的字符串?dāng)?shù)組,而 Enum.GetValues 方法返回一個包含枚舉中所有成員值的數(shù)組。

?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 和強(qiáng)制轉(zhuǎn)換

可以直接將枚舉類型轉(zhuǎn)換為數(shù)組,然后使用 foreach 循環(huán)遍歷。

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

方法三:使用泛型方法

可以創(chuàng)建一個泛型方法來遍歷任何枚舉類型。

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 方法是一個泛型方法,它接受一個類型參數(shù) TEnum,該參數(shù)必須是 struct 和 Enum 類型的約束。這使得我們可以將任何枚舉類型傳遞給這個方法并遍歷其值。


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

雖然 Enum.IsDefined 通常用于檢查某個值是否在枚舉中定義,但可以結(jié)合它和一些循環(huán)來遍歷枚舉。然而,這種方法不太常用,且效率較低,因?yàn)樾枰謩庸芾硌h(huán)的邊界。

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);            }        }    }}

這種方法雖然可以實(shí)現(xiàn)目標(biāo),但不如前面幾種方法直觀和高效。


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