如何将字符串转换为 C# 中的枚举标签值(作为枚举名称)?

发布于 2024-10-13 20:43:50 字数 418 浏览 2 评论 0原文

可能的重复:
在 C# 中将字符串转换为枚举标记 < /p>

如何转换名称为现有枚举标签的字符串(名称为枚举标题) 成为 Enum 类型

不成为 Enum 列出的变量值之一,
但作为 Enum 类型的 Enum-Tag 名称?

例如,我可能有

Enum MyEnum { A,B,C,D };

然后

String a = "MyEnum";

Possible Duplicate:
Cast a String to an Enum Tag in C#

How to convert a string which have a name of existing enum-TAG (have name of Enum Title)
to become of type of Enum

Not to become one of the Enum listed variables values,
But to be the Enum-Tag name which is of type Enum?

For instance, I might have

Enum MyEnum { A,B,C,D };

and then

String a = "MyEnum";

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

慢慢从新开始 2024-10-20 20:43:50

您需要使用 Enum.Parse 将其解析为 Enum:

myEnum result = (myEnum)Enum.Parse(typeof(myEnum), stringToConvert);

这里需要考虑几个元素。首先,Enum.Parse 采用目标 Enum 的类型。其次,它只返回 object 类型,因此您需要手动将其转换为正确的枚举类型。

You need to parse it as Enum using Enum.Parse:

myEnum result = (myEnum)Enum.Parse(typeof(myEnum), stringToConvert);

There is a couple of elements to consider here. First of all the Enum.Parse takes the type of the target Enum. Second is it only returns type object so you need to manually convert it to the correct enum type.

叫思念不要吵 2024-10-20 20:43:50
MyEnum value = (MyEnum)Enum.Parse(typeof(MyEnum), "myname");
MyEnum value = (MyEnum)Enum.Parse(typeof(MyEnum), "myname");
‖放下 2024-10-20 20:43:50
Enum e = (Enum)Enum.Parse(typeof(Enum), "A", true);

这应该可以做到

Enum e = (Enum)Enum.Parse(typeof(Enum), "A", true);

this should do it

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文