如何在开关情况下使用枚举值? 这里是我的代码:C#如何使枚举成为一个开关?
//public Variables
double rat;
string M;
public enum operations {add = 1, sub = 2, mult = 3, div = 4} ;
bool NewText = false;
private void btnmult_Click(object sender, EventArgs e)
{
//Button "*"
operations value = operations.mult;
rat = Convert.ToDouble(result.Text);
label1.Text = rat + " *";
result.Text = "";
}
private void EqualButton_Click(object sender, EventArgs e)
{
switch (operations) // this is the point which is am confused at
{
case (operations.mult): //multiplyication
TheEqualMult(rat);
label1.Text = "";
break;
}
}
现在之间字的交换机后,我应该写什么()?我想输入的是枚举值,它指的是1或2或3或4,因此按钮可以知道哪个是正确的操作。
'switch(value)',如果'value'包含您感兴趣的值。顺便说一句,请考虑以下[.NET命名约定](https://msdn.microsoft.com/en-us/library/ ms229002.aspx)。诸如类,枚举,方法之类的东西都是.NET中的PascalCased。 – Groo
我得到了案例(operations.mult)“Windows_Calculator.Form1.operations”为'int'。显式转换存在(你是否缺少一个转换?)“ –
只是一个侧面说明:作为一个经验法则枚举应该是除非它们可以组合,否则命名为单数(即“操作”)。 – Jamiec