情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Enum.HasFlag メソッド

2013/12/12

現在のインスタンスで 1 つ以上のビット フィールドが設定されているかどうかを判断します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public bool HasFlag(
	Enum flag
)

パラメーター

flag
型: System.Enum
列挙値。

戻り値

型: System.Boolean
flag に設定されているビット フィールドが現在のインスタンスでも設定されている場合は true。それ以外の場合は false

例外条件
ArgumentException

flag は、現在のインスタンスとは異なるタイプです。

HasFlag メソッドは、次のブール式の結果を返します。

thisInstance And flag = flag 

flag の基になる値が 0 の場合、このメソッドはの true を返します。この動作が望ましくない場合は、Equals メソッドを使用して 0 と等しいかどうかをテストし、次の例で示すように、flag の基になる値が 0 以外の場合に限り HasFlag を呼び出すことができます。

HasFlag メソッドは、FlagsAttribute 属性でマークされている列挙型で使用されるように設計されています。FlagsAttribute 属性でマークされていない列挙型については、Equals メソッドまたは CompareTo メソッドのどちらかを呼び出します。

次の例は、レストランで顧客が注文できる品目のカテゴリを反映する ItemsOrdered 列挙体を定義しています。この例では、顧客が前菜と飲み物を両方とも注文したかどうかをテストします。

Windows Phone OS

サポート: 8.0

表示: