狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

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

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

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

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

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

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

Enum.GetNames 方法返回一個(gè)包含枚舉中所有成員名稱的字符串?dāng)?shù)組,而 Enum.GetValues 方法返回一個(gè)包含枚舉中所有成員值的數(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)建一個(gè)泛型方法來遍歷任何枚舉類型。

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

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


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

雖然 Enum.IsDefined 通常用于檢查某個(gè)值是否在枚舉中定義,但可以結(jié)合它和一些循環(huán)來遍歷枚舉。然而,這種方法不太常用,且效率較低,因?yàn)樾枰謩?dòng)管理循環(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是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved