このトピックはまだ評価されていません - このトピックを評価する

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

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2014 Microsoft. All rights reserved.