对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
有什么问题?