c# - क्या आप सभी enum मूल्यों के माध्यम से लूप कर सकते हैं?




.net enums (6)

हाँ। System.Enum क्लास में GetValues() विधि का उपयोग करें।

इस प्रश्न का उत्तर यहां दिया गया है:
एक enum कैसे गणना करने के लिए? 14 उत्तरों

public enum Foos
{
    A,
    B,
    C
}

क्या Foos के संभावित मूल्यों के माध्यम से लूप करने का कोई तरीका है?

मूल रूप से?

foreach(Foo in Foos)

हां आप GetValue‍‍‍s विधि का उपयोग कर सकते हैं:

var values = Enum.GetValues(typeof(Foos));

या टाइप संस्करण:

var values = Enum.GetValues(typeof(Foos)).Cast<Foos>();

मैंने बहुत पहले इस तरह के अवसर के लिए अपनी निजी पुस्तकालय में एक सहायक समारोह जोड़ा:

public static class EnumUtil {
    public static IEnumerable<T> GetValues<T>() {
        return Enum.GetValues(typeof(T)).Cast<T>();
    }
}

उपयोग:

var values = EnumUtil.GetValues<Foos>();

 Enum.GetValues(typeof(Foos))


foreach(Foos foo in Enum.GetValues(typeof(Foos)))

static void Main(string[] args)
{
    foreach (int value in Enum.GetValues(typeof(DaysOfWeek)))
    {
        Console.WriteLine(((DaysOfWeek)value).ToString());
    }

    foreach (string value in Enum.GetNames(typeof(DaysOfWeek)))
    {
        Console.WriteLine(value);
    }
    Console.ReadLine();
}

public enum DaysOfWeek
{
    monday,
    tuesday,
    wednesday
}




language-features