-3
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,你根本没有改变enum的值 – Sayse 2015-01-21 08:37:21
这个问题可能有帮助(不重复) - [为什么要将int转换为无效的枚举值NOT抛出异常?](http://stackoverflow.com/questions/6413804/why-does-casting-int-to-invalid-enum-value-not-throw-exception) – Sayse 2015-01-21 08:38:45
你似乎在这里有一些基本的混淆关于什么[变量](https://msdn.microsoft.com/en-us/library/wew5ytx4(v = vs.90).aspx)与[枚举](https://msdn.microsoft.com/zh-cn/ us/library/4s1w24dx(v = vs.90).aspx)。 – 2015-01-21 08:38:47