class Program
{
public enum Genders
{
Male=0,
Female=1
}
static void Main(string[] args)
{
student stu = new student();
stu.Gender = (int)Genders.Female;
int num = (int)stu.Gender;
switch (num)
{
case 0:
Console.WriteLine("男");
break;
case 1:
Console.WriteLine("女");
break;
default:
Console.WriteLine("错误代码");
break;
}
Console.ReadLine();
}
}
class student
{
public enum Genders
{
Male, Female
}
private Genders gender; internal Genders Gender
{
get { return gender; }
set { gender = value; }
}
}
如果我把stu.Gender = (int)Genders.Female;改为stu.Gender = (int)Genders.Male;就行,如果不改就报“错误 1 无法将类型“int”隐式转换为“ConsoleApplication1.student.Genders”。存在一个显式转换(是否缺少强制转换?) D:\C#\ConsoleApplication1\ConsoleApplication1\Program.cs 18 26 ConsoleApplication1
”
{
public enum Genders
{
Male=0,
Female=1
}
static void Main(string[] args)
{
student stu = new student();
stu.Gender = (int)Genders.Female;
int num = (int)stu.Gender;
switch (num)
{
case 0:
Console.WriteLine("男");
break;
case 1:
Console.WriteLine("女");
break;
default:
Console.WriteLine("错误代码");
break;
}
Console.ReadLine();
}
}
class student
{
public enum Genders
{
Male, Female
}
private Genders gender; internal Genders Gender
{
get { return gender; }
set { gender = value; }
}
}
如果我把stu.Gender = (int)Genders.Female;改为stu.Gender = (int)Genders.Male;就行,如果不改就报“错误 1 无法将类型“int”隐式转换为“ConsoleApplication1.student.Genders”。存在一个显式转换(是否缺少强制转换?) D:\C#\ConsoleApplication1\ConsoleApplication1\Program.cs 18 26 ConsoleApplication1
”
所以stu.Gender = (int)Genders.Male就行,此时Genders.Male为0
我觉得你这里没有必要两次转换了
stu.Gender = (int)Genders.Female;
int num = (int)stu.Gender;
直接改成
int num = (int)Genders.Female;
不就行了吗