north=1,
south=2,
west=3,
east=4
}
orientation a = orientataion.north;
console.writeLine({0},a);
输出的结果为什么是north而不是1?
而
byte b;
b=(byte)a;
输出的b却是1?
10 个解决方案
#1
执行的是枚举类型的ToString函数 ,你可以将其转换为int
原型
public override string ToString()
{
return InternalFormat((RuntimeType) base.GetType(), this.GetValue());
}
#2
很有意思的话题
#3
当然是 枚举值啦!!
#4
Console.WriteLine("{0}", (int)a);
#5
转换的是string 类型的啊
#6
LZ不说我也不知道呢、以为是1
#7
因为对象在Console.write的时候,会自动调用ToString,枚举ToString就是枚举值了
#8
求解释清楚一点?新人看不懂
#9
#10
懂了,谢谢!
#1
执行的是枚举类型的ToString函数 ,你可以将其转换为int
原型
public override string ToString()
{
return InternalFormat((RuntimeType) base.GetType(), this.GetValue());
}
#2
很有意思的话题
#3
当然是 枚举值啦!!
#4
Console.WriteLine("{0}", (int)a);
#5
转换的是string 类型的啊
#6
LZ不说我也不知道呢、以为是1
#7
因为对象在Console.write的时候,会自动调用ToString,枚举ToString就是枚举值了
#8
求解释清楚一点?新人看不懂
#9
#10
懂了,谢谢!