【问题标题】:Assigning enum of one type to enum of another type?将一种类型的枚举分配给另一种类型的枚举?
【发布时间】: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 作为其输出,这是它的原始值。我可以知道这背后的原因吗?!!

【问题讨论】:

标签: c# enums console-application


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    相关资源
    最近更新 更多