サンプル コードを参照しているときに、次の enum 宣言に気付きました。None=1 とはどういう意味ですか?
public enum ButtonActions
{
None = 1,
Clear,
Insert,
Delete,
Cancel,
Close
}
からMSDN
;
デフォルトでは、列挙型の各要素の基になる型はintです。
数値型の代わりに列挙型を使用する利点は次のとおりです。
変数に対して有効な値をクライアント コードに明確に指定します。
Visual Studio では、IntelliSense によって定義された値が一覧表示されます。
列挙子リストの要素に値を指定しない場合、値は自動的に1ずつインクリメントされます。列挙型を作成するときは、最も論理的な既定値を選択し、値を 0 にします。これにより、作成時に値が明示的に割り当てられていない場合、すべての列挙型にそのデフォルト値が設定されます。
最も重要な部分の 1 つは、これらの値を使用する理由がビット フラグであると考えています。with を使用すると、列挙型要素に対してAND、OR、NOT、XORFlagsAttribute
などのビット演算を使用できます。ページの例;MSDN
[Flags]
enum Days2
{
None = 0x0,
Sunday = 0x1,
Monday = 0x2,
Tuesday = 0x4,
Wednesday = 0x8,
Thursday = 0x10,
Friday = 0x20,
Saturday = 0x40
}
class MyClass
{
Days2 weekends = Days2.Sunday | Days2.Saturday;
}
それは、あなたがそれを参照できることを意味します
ButtonActions bt = ButtonActions.None;
また
ButtonActions bt = (ButtonActions)1;
これは、列挙が 0 ではなく 1 からカウントを開始するように強制するために使用されます。