C#枚举的转换问题class Program { enum Gender { 男, 女 } static void Ma

问题描述:

C#枚举的转换问题
class Program
{
enum Gender
{
男,

}
static void Main(string[] args)
{
Console.WriteLine("Input");
string s =Console.ReadLine();
Gender sex = (Gender)(Enum.Parse(typeof(Gender), s));
Console.WriteLine(sex);
Console.ReadKey();
}
}
当输入0,输出男,输入1,输出女.在输入大于1的整数就会输出该整数,这是为什么?
1个回答 分类:综合 2014-10-28

问题解答:

我来补答
默认下枚举基础类型为int,而第一个枚举值默认为0,第二个为1,第三个以此类推,所以你所定义的枚举完整的格式如下
enum Gender : int
    {
        男 = 0,
        女 = 1
    }

所以当使用Enum.Parse进行解析时,只能识别出0与1与,其它无法识别直接输出,然后你也可以直接使用字符来进行解析,而不仅仅是数字 ,如下

var sex = (Gender)(Enum.Parse(typeof(Gender), "男"));
var sex = (Gender)(Enum.Parse(typeof(Gender), "女"));
 
 
展开全文阅读
剩余:2000