载C#中应当使用HasFlag判断一个状态是否与另一个枚举型中的状态相一致,一个线程往往会包含多个状态,多种状态乃均为通过一个枚举类型中的状态,这样一来,使用Equals判断的话就会出现问题,因为X线程现在多个状态,也就是多个值,但是在比较的时候却用 了Equals就只是跟枚举类型中的一个值进行比较,显然会报错,测试结果如下:
测试代码如下:
如果说使用HasFlag就能够避免这种情况。因此,推荐使用HasFlag。
载C#中应当使用HasFlag判断一个状态是否与另一个枚举型中的状态相一致,一个线程往往会包含多个状态,多种状态乃均为通过一个枚举类型中的状态,这样一来,使用Equals判断的话就会出现问题,因为X线程现在多个状态,也就是多个值,但是在比较的时候却用 了Equals就只是跟枚举类型中的一个值进行比较,显然会报错,测试结果如下:
测试代码如下:
如果说使用HasFlag就能够避免这种情况。因此,推荐使用HasFlag。