📜  C# .net core 将字符串转换为枚举 - C# (1)

📅  最后修改于: 2023-12-03 15:29:45.154000             🧑  作者: Mango

C# .NET Core - 将字符串转换为枚举

在 C# .NET Core 中,我们可以使用 Enum 类型和 Enum.Parse 方法来将一个字符串转换为枚举类型。这种转换对于将字符串转换为枚举类型的情况非常有用,例如,当我们从输入源获得字符串并需要将其转换为枚举值时,就可以使用该转换功能。下面我们将介绍如何在 C# .NET Core 中使用 Enum 类型进行字符串到枚举的转换。

Enum 类型

在 C# 中,枚举类型通常用于定义常量值。枚举类型由一组命名常量组成,这些常量表示整数值。例如,假设我们有以下枚举类型:

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

这个枚举类型表示一周中的每一天。在这个枚举类型中,每个名称都代表其对应的整数值,即从 0 开始的数字序列。例如,Sunday 的整数值为 0,Monday 的整数值为 1,以此类推。

Enum.Parse 方法

在 C# 中,我们可以使用 Enum.Parse 方法将字符串转换为枚举类型。该方法需要两个参数:第一个参数是要转换的枚举类型,第二个参数是要转换的字符串。如果转换成功,则该方法将返回相应的枚举值。

例如,假设我们有以下字符串:

string day = "Monday";

我们可以使用 Enum.Parse 方法将该字符串转换为 DaysOfWeek 枚举类型的值:

DaysOfWeek result = (DaysOfWeek) Enum.Parse(typeof(DaysOfWeek), day);

在这个示例中,我们首先使用 typeof 运算符获取 DaysOfWeek 枚举类型的 Type 对象,然后将其传递给 Enum.Parse 方法。该方法将 day 字符串转换为相应的枚举值,并将其返回给 result 变量。

代码示例

下面是一个完整的代码示例,该示例演示了如何将字符串转换为枚举类型:

using System;

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

class Program {
    static void Main(string[] args) {
        string day = "Monday";
        DaysOfWeek result = (DaysOfWeek) Enum.Parse(typeof(DaysOfWeek), day);

        Console.WriteLine("The day is: " + result);
    }
}

该程序首先定义了一个 DaysOfWeek 枚举类型,然后使用 Enum.Parse 方法将字符串 "Monday" 转换为 DaysOfWeek 枚举类型的值,并将其输出到控制台。

总结

这篇教程介绍了在 C# .NET Core 中将字符串转换为枚举类型的方法。我们学习了 Enum 类型和 Enum.Parse 方法,了解了如何使用它们将字符串转换为枚举类型。有了这个知识,在处理需要将字符串转换为枚举类型的问题时,我们就可以使用 C# .NET Core 中的 Enum 类型和 Enum.Parse 方法来快速和方便地完成此任务。