• 隐式转换
0 可以转为任一 enum类型
从不抛出错误
• 显式转换
从enum 到enum 通过内在类型转换
从enum 转为数值类型(包括char)
从数值类型(包括char) 转为 enum
从不抛出错误
0可以被转为任一enum类型,不管enum类型包不包括0。
如果你使用Console.WriteLine显视一个枚举值,它好像被隐式转换为一个字符串。但这是一种错觉,下面的例子说明了这一点:
enum Suit { Clubs, Diamonds, Hearts, Spades }
Suit trumps = Suit.Clubs;
Console.WriteLine(trumps);//显视为Clubs
string s = trumps;//错误,trumps不是字符串
Console.WriteLine完成的从enum到string 的类型转换是通过System.Enum的IFormattable接口实现的。
0 可以转为任一 enum类型
从不抛出错误
• 显式转换
从enum 到enum 通过内在类型转换
从enum 转为数值类型(包括char)
从数值类型(包括char) 转为 enum
从不抛出错误
0可以被转为任一enum类型,不管enum类型包不包括0。
如果你使用Console.WriteLine显视一个枚举值,它好像被隐式转换为一个字符串。但这是一种错觉,下面的例子说明了这一点:
enum Suit { Clubs, Diamonds, Hearts, Spades }
Suit trumps = Suit.Clubs;
Console.WriteLine(trumps);//显视为Clubs
string s = trumps;//错误,trumps不是字符串
Console.WriteLine完成的从enum到string 的类型转换是通过System.Enum的IFormattable接口实现的。