曾在瓶水相逢.Net的Blog中看到這篇文章
Enum 的設計與應用 - 簡易權限設計
當時看到這篇就對這篇印象很深
第一次看到Enum也可以這樣使用
今天一早,原本正看著Essential C# 3.0這本書時
又突然看到[FlagsAttribute]
上網查一下MSDN,又讓我想起那篇文章
因為之前時間不夠,並未實際測試
趁今天比較空閒時,寫了一個小程式來測試一下
[FlagsAttribute]
private enum UserPriority
{
None = 0,
Read = 1,
Write = 2,
Delete = 4
};
private void button1_Click(object sender, EventArgs e)
{
richTextBox1.Text = string.Empty;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 8; i++)
{
sb.AppendFormat(@"UserPriority{0}: {1}",i, ((UserPriority)i).ToString());
sb.AppendLine();
}
richTextBox1.Text = sb.ToString();
}
測試結果如下所示:
果然,印證了MSDN上的結果
Enum也可以使用AND、OR、XOR的運算
雖然有點多此一舉
(MSDN上已經詳細說明了,但還是想實際測試看看加深印象)
沒有留言:
張貼留言