常量不能转换为'bool'使用c#的switch语句
本文关键字:switch 语句 使用 bool 转换 不能 常量 | 更新日期: 2023-09-27 18:16:22
当我尝试评估CheckBoxList
和bool
的SelectedIndex
时。我在c#的switch语句中收到一个错误。错误是Constant value '0' cannot be converted to a 'bool'
。有没有一种方法可以同时在switch语句中求值?我知道我可以使用if语句,但如果可以的话,我宁愿使用switch语句。
switch ((CBL_PO.SelectedIndex == 0) && (boolIsNotValid == true))
{
case 0: case true:
//Do Something
break;
}
由于switch
中的值只能是true
或false
,因此删除case 0
if
:
if (CBL_PO.SelectedIndex == 0 && boolIsNotValid)
{ }
else
{ }
因为我认为你可能试图对switch
中的两个值进行检查:不可能。这是你最好的选择:
switch (CBL_PO.SelectedIndex)
{
case 0:
{
if (boolIsNotValid)
{ }
else
{ }
break;
}
}
switch语句可以看作是if/else语句栈的替代。如果你只做一次比较,那么使用一个简单的If语句;
if (CBL_PO.SelectedIndex == 0 && boolIsNotValid)
{
// Do something
}
如果您真的想使用switch语句,那么您需要:
switch ((CBL_PO.SelectedIndex == 0) && (boolIsNotValid == true))
{
case true:
//Do Something
break;
case false:
//Do Something else
break;
}