📜  将 int 转换为枚举类型 c# (1)

📅  最后修改于: 2023-12-03 14:53:43.662000             🧑  作者: Mango

将 int 转换为枚举类型

在 C# 中,我们可以将整数类型(int)转换成枚举类型。在本文中,我们将讨论如何将整数类型转换成枚举类型并演示一些示例代码。

枚举类型

枚举类型在 C# 中属于值类型。它表示一组命名常量,这些常量具有唯一的整数值,也称为枚举项。每个枚举项都可以通过名称或整数值进行访问。

以下是一个使用枚举类型的示例:

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

DaysOfWeek today = DaysOfWeek.Monday;
将 int 转换到枚举类型

在 C# 中,我们可以将 int 类型隐式转换到枚举类型:

DaysOfWeek today = 0; // Monday

这将把整数值 0 转换为枚举项 Monday

此外,我们可以使用 Enum.Parse() 方法,将整数值转换为枚举类型:

DaysOfWeek today = (DaysOfWeek)Enum.Parse(typeof(DaysOfWeek), "0");

此方法需要指定要转换的类型和要转换的值。在例子中,我们将整数值 0 和枚举类型 DaysOfWeek 传递给 Enum.Parse() 方法。

注意:如果传递到 Enum.Parse() 方法的字符串与枚举名称不匹配,则会抛出 ArgumentException

将枚举类型转换为 int

使用枚举类型的整数值,我们可以将枚举类型转换为 int 类型:

DaysOfWeek today = DaysOfWeek.Monday;
int todayNumber = (int)today; // 0

这将返回枚举项的整数值 0。

示例代码

以下是一个示例程序,演示了如何将一个整数值转换为枚举项和如何将枚举项转换为整数值:

using System;

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

class Program
{
    static void Main(string[] args)
    {
        int todayNumber = 5; // Saturday

        // Convert integer to enum
        DaysOfWeek today = (DaysOfWeek)todayNumber;
        Console.WriteLine("Today is: " + today);

        // Convert enum to integer
        int todayNumber2 = (int)today;
        Console.WriteLine("Today's number is: " + todayNumber2);

        Console.ReadLine();
    }
}

以上是将 int 转换为枚举类型的介绍和示例代码。