C#中可枚举类型详解

yizhihongxing

C#中可枚举类型详解

概述

C#中的枚举类型是一种特殊的值类型,用于定义一组相关的命名常量。枚举类型的成员可以是数字常量、字符串常量等,它为开发人员提供了一种更加方便、更加具有可读性和可维护性的编程方式。

定义枚举类型

在C#中定义枚举类型非常简单,只需要使用enum关键字即可。

enum WeekDay
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

以上代码定义了一个名为WeekDay的枚举类型,它包含了七个成员:MondayTuesdayWednesdayThursdayFridaySaturdaySunday。由于没有为每个成员指定数值,默认情况下,Monday的值为0,后续每个成员的值都会依次递增。

如果需要为每个成员指定数值,则可以在相应的成员名称后使用赋值语句进行初始化,如下所示:

enum WeekDay
{
    Monday = 1,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

以上代码中,Monday的值为1,后续每个成员的值都会依次递增,如Tuesday的值为2Wednesday的值为3,以此类推。

枚举类型的应用

作为方法参数

枚举类型可以作为方法参数,方便开发人员在方法调用时使用枚举成员来进行参数传递。例如,以下方法接受一个名为weekDayWeekDay类型参数:

void PrintWeekDay(WeekDay weekDay)
{
    switch (weekDay)
    {
        case WeekDay.Monday:
            Console.WriteLine("星期一");
            break;
        case WeekDay.Tuesday:
            Console.WriteLine("星期二");
            break;
        // ...
    }
}

在调用该方法时,可以直接使用枚举成员进行参数传递:

PrintWeekDay(WeekDay.Monday);

作为返回值类型

枚举类型也可以作为方法的返回值类型,例如,以下方法返回一个WeekDay类型的值:

WeekDay GetWeekDay(int day)
{
    switch (day % 7)
    {
        case 0:
            return WeekDay.Sunday;
        case 1:
            return WeekDay.Monday;
        case 2:
            return WeekDay.Tuesday;
        // ...
    }
}

该方法接受一个表示天数的整型参数,计算出该天数对应的星期几,并返回相应的枚举成员。

示例

using System;

namespace EnumExample
{
    enum Gender
    {
        Male,
        Female
    }

    class Person
    {
        public string Name { get; set; }
        public Gender Gender { get; set; }

        public override string ToString()
        {
            return $"Name: {Name}, Gender: {Gender}";
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Person p1 = new Person { Name = "Tom", Gender = Gender.Male };
            Person p2 = new Person { Name = "Mary", Gender = Gender.Female };

            Console.WriteLine(p1);
            Console.WriteLine(p2);
        }
    }
}

以上代码中,定义了一个名为Gender的枚举类型,包含两个成员:MaleFemale。同时,定义了一个包含名字和性别属性的Person类,并实例化了两个Person对象,分别是TomMary。在输出每个Person对象时,分别调用了它们的ToString方法,由于Person类重写了ToString方法,因此输出的是该对象的名字和性别信息。

输出结果:

Name: Tom, Gender: Male
Name: Mary, Gender: Female

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中可枚举类型详解 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C#连续任务Task.ContinueWith方法

    下面是关于”C#连续任务Task.ContinueWith方法”的完整攻略。 什么是Task.ContinueWith方法 在C#中,Task.ContinueWith方法用于在一个任务完成后执行一些额外的操作。具体来说,该方法使得一个任务能够与另一个相关的任务链接起来,当前一个任务完成后,可以立即启动与它相关的下一个任务,从而形成一个连续的任务链。 Tas…

    C# 2023年6月6日
    00
  • C#打印绘图的实现方法

    C#可以使用绘图技术实现各种详细复杂的图形和文本,可以在窗体、控件等多个对象上进行绘制。这里提供一份“C#打印绘图的实现方法”的攻略供您参考。 1. 打印机 在使用 C# 绘制和打印图表之前,需要获得系统安装的可用打印机列表,以便用户选择要打印作业的打印机。通过 System.Drawing.Printing.PrinterSettings.Installe…

    C# 2023年6月1日
    00
  • ASP.NET 返回随机数实现代码

    ASP.NET 返回随机数实现代码的完整攻略如下: 1. 生成随机数 可以使用 Random 类来生成伪随机数。在 ASP.NET 中,可以使用以下代码来生成一个介于 0 到 10 之间的随机整数: Random rand = new Random(); int randomNumber = rand.Next(0, 11); 这里,我们首先创建了一个 Ra…

    C# 2023年5月31日
    00
  • C# 泛型集合类List使用总结

    C# 泛型集合类List使用总结 目录 介绍 创建List 添加元素 删除元素 查询元素 遍历List List的排序 示例1:统计字符串中单词出现次数 示例2:实现学生信息管理系统 1. 介绍 C#中的List是一个泛型集合类,可以储存任意类型的数据,它类似于C++ STL中的vector。List的数据结构是动态数组,支持快速访问和线性遍历。与Array…

    C# 2023年5月31日
    00
  • asp.net SqlDataAdapter对象使用札记

    请允许我为你详细讲解一下“asp.net SqlDataAdapter对象使用札记”的完整攻略。 什么是 SqlDataAdapter 对象 SqlDataAdapter 是 .NET Framework 中 SqlClient 命名空间提供的一个类,它是一种用于工作与 SQL Server 数据库的 .Net 数据提供程序。SqlDataAdapter 可…

    C# 2023年6月3日
    00
  • C#创建Windows服务的实现方法

    下面我来为您讲解如何使用C#创建Windows服务的完整攻略,包含两条示例说明。 创建Windows服务的步骤 1. 创建一个空的Windows服务项目 在Visual Studio中选择File -> New -> Project,然后在模板中选择Visual C#->Windows Desktop->Windows服务。 2. 添…

    C# 2023年6月1日
    00
  • C#中async和await的深入分析

    C#中async和await的深入分析 什么是async和await async和await是C#中用于异步编程(async programming)的关键字。使用async关键字可以标识一个方法是异步方法,使得该方法可以在执行到耗时的I/O操作时不会阻塞线程,从而提高程序的响应性。使用await关键字可以异步等待异步方法的完成,从而在方法执行完成时再继续向…

    C# 2023年6月6日
    00
  • .net msmq消息队列实例详解

    .NET MSMQ消息队列实例详解 在.NET开发中,消息队列是一种常见的通信机制,可以实现异步通信、解耦和可靠性等功能。本文将介绍.NET中的消息队列实现MSMQ(Microsoft Message Queuing)的详细使用方法。 安装MSMQ 在使用MSMQ之前,需要先安装MSMQ组件。在Windows操作系统中,可以通过以下步骤安装MSMQ: 打开“…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部