【发布时间】:2015-01-21 08:34:12
【问题描述】:
class enum_class
{
public static void Main()
{
Gender Unknown = (int)Season.Winter;
Console.WriteLine(Unknown);
Console.WriteLine(Gender.Unknown);
}
}
public enum Gender
{
Unknown = 10;
}
public enum Season
{
Winter = 1;
}
在上面的代码中,我希望将变量 Winter 的值分配给变量 Unknown。
现在Console.WriteLine(Unknown); 给出了预期的输出,即未知值从其初始值 10 更改为 1。
但是,Console.WriteLine(Gender.Unknown); 打印 10 作为其输出,这是它的原始值。我可以知道这背后的原因吗?!!
【问题讨论】:
-
你已经创建了一个
Gender类型的变量,叫做Unknown,你根本没有改变枚举的值 -
这个问题可能会有所帮助(不重复)-Why does casting int to invalid enum value NOT throw exception?
标签: c# enums console-application