日期:2014-05-19  浏览次数:20988 次

对C#的Enum类型的一点疑问,请达人解释。
////部分代码
public   class   WebForm1   :   System.Web.UI.Page
{
  private   void   Page_Load(object   sender,   System.EventArgs   e)
  {
                //***************************************
                //1.请问下面语句中的   |   是什么运算符?
                //2.为什么输出时变量sMyEnum总是 "C ",而iMyEnum总是5?
MyEnum   me   =   MyEnum.A   |   MyEnum.B;
string   sMyEnum   =   me.ToString();
int   iMyEnum   =   (int)me;
  Response.Write(sMyEnum+ " <BR> "+iMyEnum);
return;
  }

  public   enum   MyEnum
  {  
    A   =   1,
    B   =   2,
    C   =   3
  }
}

上面是需要达人解释的代码。。谢谢。。

------解决方案--------------------
迷迷糊糊的Mark一下
------解决方案--------------------
001
010
或的结果为:011

iMyEnum总是5?应该是3
------解决方案--------------------

me是MyEnum类型,枚举类型默认基类型是int
1与2按位或就是3
转为字符串就是C,内部整形值就是3
有什么问题?