C#枚举的转换问题class Program { enum Gender { 男, 女 } static void Main(string[] args) { Console.WriteLine("Input"); string s =Console.ReadLine();
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 02:38:44
C#枚举的转换问题class Program { enum Gender { 男, 女 } static void Main(string[] args) { Console.WriteLine("Input"); string s =Console.ReadLine();
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的整数就会输出该整数,这是为什么?
C#枚举的转换问题class Program { enum Gender { 男, 女 } static void Main(string[] args) { Console.WriteLine("Input"); string s =Console.ReadLine();
默认下枚举基础类型为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), "女"));