この例では、列挙型の基になる値を表さない整数を含む整数の範囲が列挙型にキャストされ、その文字列表現が表示される場合の動作の違いを示しています。値として表すことができません。通常、ビットフィールドは、組み合わせて出現する可能性のある要素のリストに使用されます。列挙定数は、相互に排他的な要素のリストに使用されます。演算と組み合わせて使用するように設計されていますが、列挙定数は使用できません。言語は、列挙定数と比較して、ビットフィールドの使用方法によって異なります。falseを指定します。この属性は、列挙型にのみ適用できます。実行する場合にのみ、列挙体のFlagsAttributeカスタム属性を使用します。累乗で列挙定数を定義します。これは、結合された列挙定数内の個々のフラグが重複しないことを意味します。overlap.よく使用されるフラグの組み合わせに対して列挙定数を作成することを検討してください。WriteとReadを組み合わせたWrite列挙定数を作成することを検討してください。演算は、単純なタスクにとって不必要に高度な概念と見なされる場合があります。tasks.フラグの列挙定数として負の数を定義すると、多くのフラグ位置が1に設定されることがあるため、注意してください。これにより、コードの混乱を招く可能性があり、コーディングエラーを助長します。演算を実行することです。これにより、数値のすべてのビットがフラグに対応しないゼロに設定されます。次に、その操作の結果がフラグ列挙定数と等しいかどうかをテストします。あるフラグ列挙定数の名前としてNoneを使用します。演算では、結果が常に0であるため、None列挙定数を使用してフラグをテストすることはできません。数値内のビットが設定されているかどうかを判断するために、数値とNoneに、数値と列挙定数の間でビットごとの比較ではなく論理演算を実行することができます。列挙定数を作成することは意味があります。これは、既定では、列挙体に使用されるメモリが共通言語ランタイムによって0に初期化されるためです。ある定数を定義しなかった場合、列挙体の作成時に無効な値が含まれます。created.アプリケーションで表現する必要がある、明確な既定のケースがある場合は、既定値を表すゼロの値を持つ列挙定数を使用することを検討してください。既定のケースがない場合は、値が0である列挙定数を使用することを検討してください。これは、他の列挙定数で表されないケースを意味します。constants.列挙型自体の状態を反映するためだけに列挙値を定義しないでください。列挙型の末尾を示すだけの列挙定数は定義しないでください。列挙体の最後の値を確認する必要がある場合は、その値を明示的に確認します。範囲内のすべての値が有効な場合は、最初と最後に列挙された定数の範囲チェックを実行できます。valid.将来使用するために予約されている列挙定数を指定しないでください。use.列挙定数を値として受け取るメソッドまたはプロパティを定義する場合は、値を検証することを検討してください。その数値が列挙体で定義されていない場合でも、数値を列挙型にキャストできることが原因です。クラスの新しいインスタンスを初期化します。一意の識別子を取得します。Attribute)メソッドEquals(Object)このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。