关于隐式枚举转换的一个困惑
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??
------解决方案--------------------这样,默认是通过ToString()来取得值的,由于你的枚举类型不在WriteLine直接支持的类型之类,所以是通过WriteLine(object)来执行的,处理object,就是会调用ToString方法。
Console.WriteLine((int)day);就返回数字了
------解决方案--------------------1楼的说得很完整。
对于枚举类型来说,它的输出是它的字面量,即sunday,除非没有相应的定义,否则不会输出其数值。
但枚举型可强制转换为整数类型。