重载枚举运算符C#和Silverlight
只是一个学术问题: 当将Enum与int进行比较时,是否可以避免int转换?重载枚举运算符C#和Silverlight
int i = 0;
if(i == (int)MyEnum.Whatever)
{
}
我想重载==操作符以这样的方式:
public static MyEnum operator ==(int lhs, MyEnum rhs)
{}
感谢您阅读;-)
不,不可能。问题是 - 你为什么要比较?
因为我有来自数据库的int Id。 – 2010-03-11 11:22:32
将枚举与int进行比较在与嵌入式应用程序或现场总线系统交谈时也很常见。 – OregonGhost 2010-03-11 11:26:19
是的,从数据库位Id#s不真正映射到枚举;)通常。嵌入式Ints是有意义的。我会尽快枚举,然后继续比较枚举。尽快摆脱“低层次”的表现。 – TomTom 2010-03-11 11:40:38
我看到了这个问题,但ChrisHDog在那个问题中询问了两个枚举的重载操作符,所以我有我的希望;-)但是,谢谢。 – 2010-03-11 11:22:09