1 public class Student 2 { 3 public Student() 4 { } 5 public int Age { get; set; } 6 public string Name { get; set; } 7 //性格 8 public States Xingge { get; set; } 9 }
Student類spa
下面是枚舉code
public enum States { 可愛, 活潑, 勤奮, 認真 }
主程序blog
static void Main() { Student stu = new Student(); stu.Name = "小明"; stu.Age = 12; stu.Xingge = States.活潑; Console.WriteLine(stu.Xingge);//打印"活潑" stu.Xingge = States.活潑 | States.可愛;
//打印"活潑" 這裏 打印的結果和States.活潑 | States.可愛;的順序無關
//這和枚舉中他們的順序相關,誰在下面打印誰,即誰的值大,打印誰
Console.WriteLine(stu.Xingge);。
Console.Read(); }
22標誌枚舉get
[Flags]//表示是標誌枚舉 public enum States { 可愛, 活潑, 勤奮, 認真 }
當修改States後,string
stu.Xingge = States.活潑 | States.可愛;
Console.WriteLine(stu.Xingge);//打印仍是活潑(由於活潑 默認值大)
仍是沒有知足咱們打印多個性格 的願望
由於咱們不光要給States枚舉增長[Flags]標籤,還要給他們一一賦值
[Flags] public enum States { 可愛=1,//0001 活潑=2,//0010 勤奮=4,//0100 認真=8 }
stu.Xingge = States.可愛|States.活潑|States.認真;
Console.WriteLine(stu.Xingge);//打印"可愛,活潑,認真" it
使用狀況,當是互斥的狀況下 用沒有標籤[Flags]的枚舉,如人的性別,非男即女class
當不是互斥的時候,如 一個文件的權限,可修改,可刪除等 就用標籤枚舉權限