C# 操作员'||';无法应用于类型为';对象';和';布尔';

C# 操作员'||';无法应用于类型为';对象';和';布尔';,c#,combobox,type-conversion,operands,C#,Combobox,Type Conversion,Operands,我想比较一下: ComboBox.SelectedItem是字符串的对象类型。与“| |”组合为空 如果使用上述命令运行,则会出现错误: “运算符“| |”不能应用于“object”类型和 “布尔” 代码 试试这个: if ((comboBox1.SelectedItem?.Equals(string.Empty) ?? false) || (comboBox2.SelectedItem?.Equals(string.Empty) ?? false)) 试试这个: if ((combo

我想比较一下:
ComboBox.SelectedItem是字符串的对象类型。与“| |”组合为空

如果使用上述命令运行,则会出现错误:

“运算符“| |”不能应用于“object”类型和 “布尔”

代码

试试这个:

if ((comboBox1.SelectedItem?.Equals(string.Empty) ?? false)
    || (comboBox2.SelectedItem?.Equals(string.Empty) ?? false))
试试这个:

if ((comboBox1.SelectedItem?.Equals(string.Empty) ?? false)
    || (comboBox2.SelectedItem?.Equals(string.Empty) ?? false))
试试这个

if((comboBox1.SelectedItem==null || comboBox1.SelectedItem == string.Empty) || (comboBox2.SelectedItem == null || comboBox2.SelectedItem == string.Empty))
{
     MessageBox.Show("Select Item!");
}
试试这个

if((comboBox1.SelectedItem==null || comboBox1.SelectedItem == string.Empty) || (comboBox2.SelectedItem == null || comboBox2.SelectedItem == string.Empty))
{
     MessageBox.Show("Select Item!");
}

无法比较布尔和对象(组合框的选定项) 基于@ThierryV answer,您可以定义如下函数来检查您的条件:

private bool CheckEmptyComboBox(ComboBox comboBox)
{
    return (comboBox.SelectedItem==string.Empty ?? false)
}
然后应在if语句条件中使用此函数:

if( CheckEmptyComboBox(comboBox1) || CheckEmptyComboBox(comboBox2) || CheckEmptyComboBox(comboBox3) ...)

您还可以使用foreach语句查找面板或组框中的所有组合框

无法比较布尔和对象(组合框的选定项) 基于@ThierryV answer,您可以定义如下函数来检查您的条件:

private bool CheckEmptyComboBox(ComboBox comboBox)
{
    return (comboBox.SelectedItem==string.Empty ?? false)
}
然后应在if语句条件中使用此函数:

if( CheckEmptyComboBox(comboBox1) || CheckEmptyComboBox(comboBox2) || CheckEmptyComboBox(comboBox3) ...)


您还可以使用foreach语句查找面板或组框中的所有组合框

我需要在同一if语句中检查从1到10的所有组合框,并且我需要一个| |operator@Parnalp那又怎样?我可以简单地写:string combox1=comboBox1.SelectedItem作为string;如果(combox1==string.Empty)与您所做的相同。我认为您应该在发布之前运行它,我很抱歉,但是??它显示了同样的情况error@Parnalp我在发布之前运行它。重新检查代码我需要检查同一if语句中从1到10的所有组合框,我需要一个| |operator@Parnalp那又怎样?我可以简单地写:string combox1=comboBox1.SelectedItem作为string;如果(combox1==string.Empty)与您所做的相同。我认为您应该在发布之前运行它,我很抱歉,但是??它显示了同样的情况error@Parnalp我在发布之前运行它。重新检查你的代码现在应该是Finenop。。抛出同样的错误“运算符“| |”不能应用于“object”和“bool”类型的操作数“好的,等等,我只是尝试实现我会让你确定的是,现在很好,你现在可以判断了。现在应该很好了。。抛出相同的错误“运算符“| |”不能应用于“object”和“bool”类型的操作数”好的,等等,我只是尝试实现,我会让你确定的是,现在很好,你现在可以判断了。