C#枚举

/ / C#枚举

C#中的枚举也称为枚举。它用于存储一组命名常量,如季节、天、月、大小等。枚举常量也称为枚举数。C#中的枚举可以在类和结构内部或外部声明。

枚举常量具有默认值,从0开始逐个递增。但是无涯教程可以更改默认值。

要记住的要点

  • 枚举有固定的常量集
  • 枚举提高了安全性
  • 枚举可以遍历

C#枚举示例

让无涯教程看一个简单的C#枚举示例。

using System;
public class EnumExample
{
    public enum Season { WINTER, SPRING, SUMMER, FALL }  

    public static void Main()
    {
        int x = (int)Season.WINTER;
        int y = (int)Season.SUMMER;
        Console.WriteLine("WINTER = {0}", x);
        Console.WriteLine("SUMMER = {0}", y);
    }
}

输出:

无涯教程网

WINTER = 0
SUMMER = 2

更改起始索引的C#枚举示例

using System;
public class EnumExample
{
    public enum Season { WINTER=10, SPRING, SUMMER, FALL }  

    public static void Main()
    {
        int x = (int)Season.WINTER;
        int y = (int)Season.SUMMER;
        Console.WriteLine("WINTER = {0}", x);
        Console.WriteLine("SUMMER = {0}", y);
    }
}

输出:

无涯教程网

WINTER = 10
SUMMER = 12

C#枚举天数示例

using System;
public class EnumExample
{
    public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };

    public static void Main()
    {
        int x = (int)Days.Sun;
        int y = (int)Days.Mon;
        int z = (int)Days.Sat;
        Console.WriteLine("Sun = {0}", x);
        Console.WriteLine("Mon = {0}", y);
        Console.WriteLine("Sat = {0}", z);
    }
}

输出:

无涯教程网

Sun = 0
Mon = 1
Sat = 6

C#枚举示例:使用getNames()遍历所有值

using System;
public class EnumExample
{
    public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };

    public static void Main()
    {
        foreach (string s in Enum.GetNames(typeof(Days)))
        {
            Console.WriteLine(s);
        }
    }
}

输出:

无涯教程网

Sun
Mon
Tue
Wed
Thu
Fri
Sat

C#枚举示例:使用getValues()遍历所有值

using System;
public class EnumExample
{
    public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };

    public static void Main()
    {
        foreach (Days d in Enum.GetValues(typeof(Days)))
        {
            Console.WriteLine(d);
        }
    }
}

输出:

无涯教程网

Sun
Mon
Tue
Wed
Thu
Fri
Sat

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

Rust实战 · 手写下一代云原生消息队列 -〔许文强〕

学透Spring:从入门到项目实战 -〔丁雪丰〕

现代C++20实战高手课 -〔卢誉声〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

HarmonyOS快速入门与实战 -〔QCon+案例研习社〕

陈天 · Rust 编程第一课 -〔陈天〕

Netty源码剖析与实战 -〔傅健〕

OpenResty从入门到实战 -〔温铭〕

数据分析实战45讲 -〔陈旸〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者