C#,将变量转换为 Enum.GetUnderlyingType

标签 c# .net casting enums

假设我有枚举,底层类型是字节:

enum EmpType : byte
{
    Manager = 1,
    Worker = 2,
}

我可以将一些 int 文字转换为该枚举的基础类型(在本例中为字节)吗?

这样的事情不起作用(错误:“;预期”):

byte x = (Enum.GetUnderlyingType(typeof(EmpType)))15;

我可以在不显式写入 (byte)15 的情况下转换为底层类型吗?

谢谢。

最佳答案

我认为以下内容会起作用。但我不确定它在所有情况下都能让您获得所需的行为。

var x = Convert.ChangeType(15, Enum.GetUnderlyingType(typeof(EmpType)))

关于C#,将变量转换为 Enum.GetUnderlyingType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16410904/

相关文章:

c++ - 为什么将类型 T& 转换为 T 会创建一个临时对象?

java - 泛型数组和泛型值有什么区别?

c# - 寻找一个非常简单的缓存示例

C# 初始化对象值

C# 索引器的意义或好处是什么?

c# - Restsharp XML 反序列化

c# - 如何确保在按钮的单击事件之前触发文本框的 textchanged 事件?

c# - 是否有 C# "as"关键字的 Scala 等效项?

.net - SqlConnection.Dispose() 是否对所有挂起的事务执行回滚?

.net - 在 WPF 中使用 snarl 通知?