检查时枚举错误

时间:2010-12-14 06:48:12

标签: c# enums

我有这样的枚举

 public enum ConnectionState : int
   {
      Unknown = 1,
      Connected = 2,
      Disconnected = 3,
   }

我需要显示值,如果它已连接我做了这个检查

if(ConnectionState.Connected)
{
SubItems.Add(Data.value)
}

但我收到错误“无法将类型'ConnectionState'隐式转换为'bool'”。建议我如何继续这个

3 个答案:

答案 0 :(得分:6)

不应该像

那样
if(YourObject.ConnectionState == ConnectionState.Connected) 
{ 
    SubItems.Add(Data.value) 
} 

答案 1 :(得分:1)

此示例中的

ConnectionState是一个类型定义,您需要实例化一个ConnectionState对象:

ConnectionState myState = new ConnectionState();

然后你可以设置你的状态:

myState = ConnectionState.Connected;

并查看:

if(myState == ConnectionState.Connected)

答案 2 :(得分:0)

枚举或枚举数据类型,顾名思义就是用户定义的数据类型。因此它们不能直接在条件语句中使用。它们可以在自身内进行比较。所以你需要定义你的对象,然后将它的值与一些进行比较枚举中的其他值。