【发布时间】:2010-03-11 11:16:02
【问题描述】:
只是一个学术问题: 将 Enum 与 int 进行比较时是否可以避免 int 强制转换?
int i = 0;
if(i == (int)MyEnum.Whatever)
{
}
我想以这种方式重载 == 运算符:
public static MyEnum operator ==(int lhs, MyEnum rhs)
{}
感谢阅读 ;-)
【问题讨论】:
只是一个学术问题: 将 Enum 与 int 进行比较时是否可以避免 int 强制转换?
int i = 0;
if(i == (int)MyEnum.Whatever)
{
}
我想以这种方式重载 == 运算符:
public static MyEnum operator ==(int lhs, MyEnum rhs)
{}
感谢阅读 ;-)
【问题讨论】:
你不能。见this similar question。正如该问题中所建议的,您可以定义一个扩展方法来进行比较,以消除重复的强制转换。
【讨论】:
不,不可能。问题是 - 你为什么要和 in 相比?
【讨论】: