C#枚举的转换问题class Program { enum Gender { 男, 女 } static void Main(string[] args) { Console.WriteLine("Input"); string s =Console.ReadLine();
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 21:55:11
![C#枚举的转换问题class Program { enum Gender { 男, 女 } static void Main(string[] args) { Console.WriteLine(](/uploads/image/z/12061387-19-7.jpg?t=C%23%E6%9E%9A%E4%B8%BE%E7%9A%84%E8%BD%AC%E6%8D%A2%E9%97%AE%E9%A2%98class+Program++++%7B++++++++enum+Gender++++++++%7B+++++++++++++%E7%94%B7%2C++++++++++++%E5%A5%B3++++++++%7D++++++++static+void+Main%28string%5B%5D+args%29++++++++%7B++++++++++++Console.WriteLine%28%22Input%22%29%3B++++++++++++string+s+%3DConsole.ReadLine%28%29%3B)
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), "女"));