c# - 无法使用switch语句C#将常量值转换为 'bool'

标签 c# boolean switch-statement syntax-error case-statement

当我尝试评估SelectedIndexCheckBoxListbool时。我在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中的唯一值可以是truefalse,因此请删除case 0

另外,您最好使用if:

if (CBL_PO.SelectedIndex == 0 && boolIsNotValid)
{ }
else
{ }

由于我认为您可能正在尝试对switch中的两个值进行检查:不可能。这是您最好的选择:
switch (CBL_PO.SelectedIndex)
{
    case 0:
    {
        if (boolIsNotValid)
        { }
        else
        { }

        break;
    }
}

关于c# - 无法使用switch语句C#将常量值转换为 'bool',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25139254/

相关文章:

c# - 如何通过C#代码导出数据库并在本地导入?

c# - Exchange Online 管理 Powershell 模块和证书 Oauth

PHP boolean 值真/假?

java - Boolean.FALSE 还是 new Boolean(false)?

c# - 关于任务延续的问题

c# - 为可枚举的c#分配内存

javascript - 如何让 Javascript 将通过 AJAX 请求提取的 tinyint(1) 数据视为 boolean 值?

iphone - objective-c 开关语句中的OR运算符

ios - 有没有一种方法可以在 Swift 开关中检查多个条件?

javascript - switch 语句适合多少种情况