我在使用此代码找到常量值时遇到问题:
var size = q.textBoxNumberOfEmployees.Text;
switch (size)
{
case:
if (int.Parse(size) > 5 && int.Parse(size) < 15)
{
Rect1.Height = Rect1.ActualHeight - 10;
Rect1.Width = Rect1.ActualWidth - 5;
}
break;
}
任何想法?记录中应该有多个案例!
答案 0 :(得分:1)
C#6中的案例值必须是一个常数值,不会发生变化。如果您想要与case语句具有相同的效果,请考虑多个if / if else语句而不是switch。
var size = q.textBoxNumberOfEmployees.Text;
if (int.Parse(size) > 5 && int.Parse(size) < 15)
{
Rect1.Height = Rect1.ActualHeight - 10;
Rect1.Width = Rect1.ActualWidth - 5;
}
以上是您的代码的有效版本。您还可以添加与case语句类似的其他if / else语句。
if (int.Parse(size) > 5 && int.Parse(size) < 15)
{
Rect1.Height = Rect1.ActualHeight - 10;
Rect1.Width = Rect1.ActualWidth - 5;
}
else if(some other condition)
{
...
}
else if(some other condition again)
{
...
}
else
{
//if no other conditions are satisfied, this gets executed.
//it's like the default case in a switch statement
}
答案 1 :(得分:0)
您必须分配案例值case "foo":
或case 15:
。