Оператор '||'не может применяться к операндам типа 'object' и 'bool' - PullRequest
0 голосов
/ 28 сентября 2018

Я хотел бы сделать сравнение:
ComboBox.SelectedItem, который имеет тип объекта со строкой. Пустой в сочетании с "||"

Если я запускаю с вышеуказанной командой, я получаю сообщение об ошибке:

"Оператор" || 'не может применяться к операндам типа 'object' и 'bool' "

Code

if (comboBox2.SelectedItem || comboBox1.SelectedItem == string.Empty )

Ответы [ 3 ]

0 голосов
/ 28 сентября 2018

Попробуйте это

if((comboBox1.SelectedItem==null || comboBox1.SelectedItem == string.Empty) || (comboBox2.SelectedItem == null || comboBox2.SelectedItem == string.Empty))
{
     MessageBox.Show("Select Item!");
}
0 голосов
/ 28 сентября 2018

Вы не можете сравнивать bool и object (выбранный элемент поля со списком), основываясь на ответе @ThierryV. Вы можете определить функцию, подобную этой, для проверки вашего состояния:

private bool CheckEmptyComboBox(ComboBox comboBox)
{
    return (comboBox.SelectedItem==string.Empty ?? false)
}

, а затем следует использовать этоФункция в вашем условии оператора if:

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

также вы можете использовать оператор foreach, чтобы найти все поля со списком в панели или окне группы

0 голосов
/ 28 сентября 2018

Попробуйте это:

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