在C#中如何将int转换为枚举?

发布时间 2023-10-22 22:25:21作者: 小满独家

内容来自 DOC https://q.houxu6.top/?s=在C#中如何将int转换为枚举?

在C#中如何将一个int类型转换为enum类型?


从整数类型:

YourEnum foo = (YourEnum)yourInt;

从字符串类型:

YourEnum foo = (YourEnum) Enum.Parse(typeof(YourEnum), yourString);

// 对于带有[Flags]属性的枚举,foo.ToString().Contains(",")检查是必要的。
if (!Enum.IsDefined(typeof(YourEnum), foo) && !foo.ToString().Contains(","))
{
    throw new InvalidOperationException(
        $"{yourString}不是YourEnum枚举的基础值。"
    );
}

从数字类型:

YourEnum foo = (YourEnum)Enum.ToObject(typeof(YourEnum), yourInt);