zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#学习-枚举(数据类型,适用于某些取值范围有限的数据)

c#学习数据 数据类型 枚举 范围 适用 取值
2023-09-27 14:27:29 时间
  1. 枚举元素默认为int类型,但可以改成其他的整型:long,short.ushort

  2. 默认枚举元素的第一个值为0

  3. enum一般与swith-case配合使用

代码:

using System;
using System.CodeDom;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;

namespace _TBD_2020814Test
{
    public enum Season//枚举中每个值都是一个整型
    {
        spring,//0
        summer,//1
        autumn,//2
        winter//3
    }
    public enum Shunxu//可以设定第一个枚举值的值
    {
        first=3,//0
        second,//1
        third=3,//2
        fourth//3
    }
    public enum Leixing:long//枚举默认为int型,但也可设置为其他整形,如:long,short
    {
        one,
        two,
        three
    }

    class Program
    {
        static void Main(string[] args)
        {
            //使用枚举
            Season s = Season.autumn;
            Season s1 = (Season)3;//这种赋值不推荐,可读性差
            Console.WriteLine(s);//autumn
            Console.WriteLine(s+1);//winter
            Console.WriteLine(s1);//winter
            Console.WriteLine(s+2);//4
            Console.WriteLine("");

            Shunxu x = Shunxu.first;
            Shunxu x1 = (Shunxu)3;
            Console.WriteLine(x + 1);//secend
            Console.WriteLine(Convert.ToInt32(x + 1));//4
            Console.WriteLine(x1);//first先输出第一个

            //enum一般情况下多与switch-case配合使用
            switch (s)
            {
                case Season.spring:Console.WriteLine("春乏");break;
                case Season.summer: Console.WriteLine("夏打盹"); break;
                case Season.autumn: Console.WriteLine("秋困"); break;
                case Season.winter: Console.WriteLine("冬眠"); break;

            }

        }
    }
}