关于C#枚举的简单问题?

来源:百度知道 编辑:UC知道 时间:2024/06/10 04:24:58
class Program
{
public enum Gender //定义一个枚举
{
Male,Female //枚举的两个值
}

private Gender gerder;
public Gender Gerder //属性
{
get { return gerder; }
set { gerder = value; }
}

static void Main(string[] args)
{
Program zhou = new Program(); //实例化对象

zhou.Gerder = Gender.Male; //赋值
zhou.Gerder = Gender.Female; //赋值
Console.WriteLine(zhou.Gerder);
Console.WriteLine(zhou.Gerder); //为什么同是打印两个同样的值,

}
}
Console.WriteLine(zhou.Gerder);
Console.WriteLine(zhou.Gerder); //为什么同是打印两个同样的值,

假如我去掉一个Console.Writer()就打印第二个值,为什么不打印第一个呢.?

你第二次赋值的时候把第一次赋的值给覆盖了,当然只显示第二次的的值 你可以改成
zhou.Gerder = Gender.Male; //赋值
Console.WriteLine(zhou.Gerder);
zhou.Gerder = Gender.Female; //赋值
Console.WriteLine(zhou.Gerder);

不明白你的意思!你给zhou.Gerder赋了Gender.Female当然在后面都打印Femail了,
zhou.Gerder = Gender.Male; //赋值
Console.WriteLine(zhou.Gerder);
zhou.Gerder = Gender.Female; //赋值
Console.WriteLine(zhou.Gerder); //为什么同是打印两个同样的值
你改成这样就打印不同的值了,

Program zhou = new Program(); //实例化对象
你只是实例化一个对象然后给这个对象的属性赋值,后一次的赋值覆盖了前一次的赋值。这个对象的属性只会有一个值而已啊。
你可以在new一个对象Program zhou1 = new Program(); 然后给zhou1 的属性赋值Female.