我的参考代码:
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
}
}
Run Code Online (Sandbox Code Playgroud)
我在bk == ButtonKey.Key1比较中得到了一个错误.无论我如何试图抛出这两个,我都无法超越这个.我确信有一个简单的解释......我决心整天躲避我!
我在这里失踪了什么?提前致谢...
您将a uint与特定类型的enumeration 进行比较.比较时转换枚举:
if( bk == (uint)ButtonKey.Key1 )
{
// so something
}
Run Code Online (Sandbox Code Playgroud)
更好的解决方案是改变以下类型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
}
}
Run Code Online (Sandbox Code Playgroud)