using System;
enum weekday{
  sunday,monday,tuesday,wednesday,thursday,friday,saturday
};
class test{
  public static void Main(){
    weekday day;
    day=0;
    Console.WriteLine(day);
  }
}
为什么最终的结果是sunday而不是0啊,怎么才能让结果是0??

解决方案 »

  1.   

    这样,默认是通过ToString()来取得值的,由于你的枚举类型不在WriteLine直接支持的类型之类,所以是通过WriteLine(object)来执行的,处理object,就是会调用ToString方法。
    Console.WriteLine((int)day);就返回数字了 
      

  2.   

    1楼的说得很完整。
    对于枚举类型来说,它的输出是它的字面量,即sunday,除非没有相应的定义,否则不会输出其数值。
    但枚举型可强制转换为整数类型。