关于C#枚举的有关问题,本人新手,
关于C#枚举的问题,本人新手,求助~
新人,在自学C#。
现在遇到一个问题,定义了Gender枚举
要求客户输入性别,再赋值给sex这个Gender类型的枚举。
代码里使用了try catch ,调试时,输入的值是 数值 的话
却成功赋值给了sex....? 可我定义的枚举里,只有"男""女"
这里我搞不懂,求助。
麻烦可以的话,请指出问题所在,并且告知原因,因为本人自学,完全是新人。
------解决方案--------------------
枚举可以与int类型相互转换
你这个枚举,下面两个等式是成立的
(int)Gender.男==1
(int)Gender.女==2
下面两句转换后,sex1是男,sex2是女
Gender sex1=(Gender)1;
Gender sex2=(Gender)2;
------解决方案--------------------
新人,在自学C#。
现在遇到一个问题,定义了Gender枚举
要求客户输入性别,再赋值给sex这个Gender类型的枚举。
代码里使用了try catch ,调试时,输入的值是 数值 的话
却成功赋值给了sex....? 可我定义的枚举里,只有"男""女"
这里我搞不懂,求助。
麻烦可以的话,请指出问题所在,并且告知原因,因为本人自学,完全是新人。
namespace 枚举
{
/// <summary>
/// 这里定义了一个叫Gender的枚举
/// </summary>
enum Gender
{
男=1,
女
}
class Program
{
static void Main(string[] args)
{
//这里让用户输入性别。
Gender sex;
Console.WriteLine("请输入您的性别:");
while(true)
{
try
{
string input = Console.ReadLine();
sex = (Gender)(Enum.Parse(typeof(Gender), input));
Console.WriteLine("您的性别是:" + sex);
break;
}
catch
{
Console.WriteLine("请输入“男”或者“女”:");
continue;
}
}
Console.ReadKey();
}
}
}
c#
枚举
------解决方案--------------------
枚举可以与int类型相互转换
你这个枚举,下面两个等式是成立的
(int)Gender.男==1
(int)Gender.女==2
下面两句转换后,sex1是男,sex2是女
Gender sex1=(Gender)1;
Gender sex2=(Gender)2;
------解决方案--------------------