将一种类型的枚举分配给另一种类型的枚举?

时间:2015-01-21 08:34:12

标签: c# enums console-application

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作为其原始值的输出。我可以知道这背后的原因吗?!!

1 个答案:

答案 0 :(得分:0)

如果我们跟踪您的代码,我们会在Main方法中看到,首先创建一个名为Gender的{​​{1}}类型的变量(这是一个枚举),它也等于整数值unknown,即1.因此,Season.Winter将导致1.在第三行中,您调用Console.WriteLine(Unknown)的值;您定义的枚举值,始终为10.

总结;代码中的第一个Gender.Unknown是您创建的变量,但第二个是Unknown,它是一个常量枚举。