关于使用枚举作为参数和if / else条件的问题

时间:2010-05-10 22:44:30

标签: c#

是否可以使用C#中的枚举执行以下操作?:

  • 将一个选定的枚举值传入一个方法(例如,如果枚举中包含红色,绿色,橙色等成员,我可以传入Colors.Red)。

  • 在接受枚举的上述方法的方法体中,我可以说if(Enum == Colors.Red)。

这是什么语法?我似乎总是对此停滞不前。

4 个答案:

答案 0 :(得分:6)

是的,就像你使用任何其他类型......

public void MyMethod( Color color )
{
   if( color == Color.Red )
      ...
}

答案 1 :(得分:1)

你可以这样做:

public enum Colors{
   Red,
   Blue
}

...

public void DoSomething(Colors theColor){
   if(theColor == Colors.Red) // do something...
}

答案 2 :(得分:0)

是的,你可以。这是一个简单的例子:

public enum Colors
{
    Red,
    Orange,
    Green
}

...

public bool IsRed(Colors c)
{
    if (c == Colors.Red)
        return true;
    else
        return false;
}

您的函数调用如下:

bool test = IsRed(Colors.Green); //false

答案 3 :(得分:-1)

是的,是的。语法就像你在那里一样。