MSDN Library
信息
您所需的主题如下所示。但此主题未包含在此库中。

Enum.HasFlag 方法

2013/12/13

确定当前实例中是否设置了一个或多个位域。

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 的基础值为零,则该方法将返回 true。如果此行为不理想,您可以使用 Equals 方法测试是否与零相等,并只在 flag 的值是非零时调用 HasFlag,如下面的示例所示。

HasFlag 方法旨在用于使用 FlagsAttribute 特性标记的枚举类型。对于没有标记 FlagsAttribute 特性的枚举类型,调用 Equals 方法或 CompareTo 方法。

下面的示例定义一个 ItemsOrdered 枚举,反映了客户可以在一个餐厅中订购的项目类别。该示例测试是否客户已经同时点了主菜和饮料。

Windows Phone OS

受以下版本支持: 8.0

显示:
© 2016 Microsoft