[Flags]
これらのフラグに基本的なビット演算を適用するよりも使用できます!
[Flags]
enum Days2
{
None = 0x0,
Sunday = 0x1,
Monday = 0x2,
Tuesday = 0x4,
Wednesday = 0x8,
Thursday = 0x10,
Friday = 0x20,
Saturday = 0x40
}
注:
- これにより、値にビット演算が適用されます。
と:
var meetingDays = Days2.Tuesday & Days2.Thursday;
または:
meetingDays = Days2.Tuesday | Days2.Thursday;
削除する:
// Remove a flag using bitwise XOR. this will remove the tuesday from the week!
meetingDays = meetingDays ^ Days2.Tuesday;
いいえ:
meetingDays = meetingDays ~Days2.Tuesday;
Flag 列挙値も 2powern 0、1、2、4 などにする必要があることに注意する必要があります。
Microsoft 側からコードを取得した例を変更しました:
http://msdn.microsoft.com/de-de/library/vstudio/cc138362.aspx
このリンクもとてもいいです:
http://geekswithblogs.net/BlackRabbitCoder/archive/2010/07/22/c-fundamentals-combining-enum-values-with-bit-flags.aspx