C# 字符串转枚举
时间: 2023-06-28 09:11:04 浏览: 75
在 C# 中,可以使用 Enum.Parse 方法将字符串转换为枚举类型。以下是一个示例:
```csharp
enum Fruit
{
Apple,
Banana,
Orange
}
string str = "Banana";
Fruit fruit = (Fruit)Enum.Parse(typeof(Fruit), str);
```
在这个示例中,我们定义了一个枚举类型 `Fruit`,它包含三个值:`Apple`、`Banana` 和 `Orange`。然后,我们将一个字符串 `"Banana"` 转换为枚举类型。
请注意,我们使用了 `Enum.Parse` 方法,并将其第一个参数设置为要转换到的枚举类型,第二个参数设置为要转换的字符串。由于 `Enum.Parse` 方法返回一个 `object` 类型的值,因此我们需要将其转换为 `Fruit` 类型。
如果要确保字符串可以成功转换为枚举类型,可以使用 `Enum.IsDefined` 方法进行验证,例如:
```csharp
if (Enum.IsDefined(typeof(Fruit), str))
{
Fruit fruit = (Fruit)Enum.Parse(typeof(Fruit), str);
}
else
{
// 处理字符串无法转换为枚举类型的情况
}
```
相关问题
C# 将字符串转为枚举
可以使用 Enum.Parse() 方法将字符串转换为枚举类型的值。这个方法接收一个参数表示要转换的枚举类型,一个参数表示要转换的字符串,以及一个可选的参数指定是否忽略大小写。
以下是一个示例代码:
```csharp
enum Fruit
{
Apple,
Banana,
Orange
}
// 将字符串转换为枚举类型
string fruitStr = "Banana";
Fruit fruit = (Fruit)Enum.Parse(typeof(Fruit), fruitStr);
Console.WriteLine(fruit); // 输出 "Banana"
```
需要注意的是,如果要转换的字符串不是枚举中定义的值,则会抛出 ArgumentException 异常。因此,在使用 Enum.Parse() 进行字符串转换时,需要确保字符串的值是有效的枚举值。
C#字符串转化为枚举型
要将字符串转换为枚举类型,可以使用Enum.Parse方法。这个方法接受两个参数,第一个参数是要转换的枚举类型,第二个参数是要转换的字符串。
以下是一个示例代码,演示如何将字符串转换为枚举类型:
```csharp
using System;
enum DayOfWeek
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
class Program
{
static void Main()
{
string dayString = "Wednesday";
DayOfWeek day = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), dayString);
Console.WriteLine($"The day is: {day}");
}
}
```
在这个示例中,我们定义了一个DayOfWeek的枚举类型,表示一周中的某一天。然后,我们声明一个字符串变量dayString,它包含了要转换的字符串"Wednesday"。接下来,我们使用Enum.Parse方法将dayString转换为DayOfWeek类型的枚举值,并将结果赋值给day变量。
最后,我们打印出转换后的枚举值。
运行上述代码,输出将如下所示:
```
The day is: Wednesday
```
这样,你就可以将字符串成功地转换为枚举类型了。请确保要转换的字符串与枚举类型中的成员名称匹配,否则会抛出异常。