我的引用代码:
uint bk = 0;
enum ButtonKey : uint
{
None = 0,
Key1,
Key2
};
private void button_Click(object sender, EventArgs e)
{
bk = (uint)ButtonKey.Key1;
}
void foo()
{
if( bk == ButtonKey.Key1 )
{
// so something
}
}
我在
bk == ButtonKey.Key1
上收到错误消息比较。无论我如何尝试施放这两个,我都无法超越这一点。我敢肯定有一个简单的解释...决心整天躲避我!
我在这里想念什么?提前致谢...
您正在比较 uint
特定类型的 enum
时代。比较时转换枚举:
if( bk == (uint)ButtonKey.Key1 )
{
// so something
}
更好的解决方案是更改
bk
的类型。 :
ButtonKey bk;
enum ButtonKey
{
None = 0,
Key1,
Key2
};
private void button_Click(object sender, EventArgs e)
{
bk = ButtonKey.Key1;
}
void foo()
{
if( bk == ButtonKey.Key1 )
{
// so something
}
}
我是一名优秀的程序员,十分优秀!