我想在C#中學習枚舉。正如我在一些文件中看到的,我寫了一個程序。但我並不知道這個程序是如何工作的。任何人都可以幫我介紹一下它的工作嗎?FlagsAttribute for Enums
我張貼我下面的代碼:
計劃1:
public partial class MainPage {
[Flags]
enum Days {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday ,
Saturday,
Sunday
};
// Constructor
public MainPage() {
InitializeComponent();
Days holidays = Days.Sunday | Days.Saturday;
if ((Days.Sunday | holidays) == Days.Sunday) // This returns true. Why ?
MessageBox.Show("True");
else
MessageBox.Show("False");
}
方案2:
在這裏,我在枚舉
public partial class MainPage {
[Flags]
enum Days {
Monday = 1,
Tuesday = 2,
Wednesday = 5,
Thursday = 8,
Friday = 10,
Saturday = 3,
Sunday = 0
};
// Constructor
public MainPage() {
InitializeComponent();
Days holidays = Days.Sunday | Days.Saturday;
if ((Days.Sunday | holidays) == Days.Sunday) // Why this returns false ?
MessageBox.Show("True");
else
MessageBox.Show("False");
}
將整數值指派w ^在程序2中分配整數值後,hat是if條件中的差異?
|做一個按位或。 – lahsrah 2013-02-22 05:22:44
爲什麼要投票?這是一個糟糕的問題嗎? – Arun 2013-02-22 05:32:16
我不認爲這是一個糟糕的問題,實際上我遇到了很多開始有問題的人理解Flag枚舉。雖然 – TimothyP 2013-02-22 05:42:16