相关疑难解决方法(0)

为什么将int转换为无效的枚举值而不抛出异常?

如果我有这样的枚举:

enum Beer
{
    Bud = 10,
    Stella = 20,
    Unknown
}
Run Code Online (Sandbox Code Playgroud)

为什么在将int超出这些值的值转换为某种类型时,它不会抛出异常Beer

例如,以下代码不会抛出异常,它会向控制台输出"50":

int i = 50;
var b = (Beer) i;

Console.WriteLine(b.ToString());
Run Code Online (Sandbox Code Playgroud)

我觉得这很奇怪......任何人都可以澄清吗?

c#

114
推荐指数
4
解决办法
4万
查看次数

标签 统计

c# ×1