如何标记在C#中比较? [英] How to Compare Flags in C#?

查看:182
本文介绍了如何标记在C#中比较?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面我有一个标志枚举。

  [国旗]
公共枚举FlagTest
{
    无=为0x0,
    标志1 =为0x1,
    标志2 = 0X2,
    相当于Flag3 =为0x4
}
 

我不能让if语句计算为true。

  FlagTest testItem = FlagTest.Flag1 | FlagTest.Flag2;

如果(testItem == FlagTest.Flag1)
{
    // 做一点事,
    //然而,这是不正确的。
}
 

我怎样才能让这样的吗?

解决方案

  IF((testItem&安培; FlagTest.Flag1)== FlagTest.Flag1)
{
     // 做一点事
}
 

I have a flag enum below.

[Flags]
public enum FlagTest
{
    None = 0x0,
    Flag1 = 0x1,
    Flag2 = 0x2,
    Flag3 = 0x4
}

I cannot make the if statement evaluate to true.

FlagTest testItem = FlagTest.Flag1 | FlagTest.Flag2;

if (testItem == FlagTest.Flag1)
{
    // Do something,
    // however This is never true.
}

How can I make this true?

解决方案

if ((testItem & FlagTest.Flag1) == FlagTest.Flag1)
{
     // Do something
}

这篇关于如何标记在C#中比较?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆