如何在 C# 中循环枚举?

本文关键字:循环 枚举 | 更新日期: 2023-09-21 13:26:23

在这里,您将学习如何枚举或循环枚举。

在 C# 中,enum用于将常量名称分配给一组数字整数值。它使常量值更具可读性,例如,当引用一周中的某一天时,WeekDays.Monday比数字 0 更具可读性。

枚举可以使用 foreach 循环的Enum.GetNames<TEnum>()Enum.GetNames()Enum.GetValues<TEnum>()Enum.GetValues()静态方法循环。

下面的示例使用 Enum.GetNames<TEnum>() 方法获取枚举的名称。

示例: Loop through Enum Member Names in .NET 4.x

public enum SocialNetworks { Facebook, Linkedin, Twitter, Instagram };
class Program
{
    static void Main(string[] args)
    {
        foreach (var name in Enum.GetNames(typeof(SocialNetworks)))
        {
            Console.WriteLine(name);
        }
    }
}

示例: Loop through Enum Member Names in .NET 6

public enum SocialNetworks { Facebook, Linkedin, Twitter, Instagram };
class Program
{
    static void Main(string[] args)
    {
        foreach (var name in Enum.GetNames<SocialNetworks>())
        {
            Console.WriteLine(name);
        }
    }
}

Output:

Facebook
Linkedin
Twitter
Instagram

Enum.GetValues<TEnum>() 是一种静态方法,用于检索指定枚举的常量值数组。

下面的示例演示如何使用 Enum.GetValues<TEnum>() 方法获取枚举的值。

示例: Loop through Enum Values in .NET 4.x

public enum SocialNetworks {  Facebook = 3, Linkedin = 4, Twitter = 5, Instagram = 8};
class Program
{
    static void Main(string[] args)
    {
        foreach (var val in Enum.GetValues(typeof(SocialNetworks))
        {
            Console.WriteLine((int)val);
        }
    }
}

示例: Loop through Enum Values

public enum SocialNetworks {  Facebook = 3, Linkedin = 4, Twitter = 5, Instagram = 8};
class Program
{
    static void Main(string[] args)
    {
        foreach (var val in Enum.GetValues<SocialNetworks>())
        {
            Console.WriteLine((int)val);
        }
    }
}

Output:

0
1
2
3