如果combobox1.text与其列表项匹配,然后进一步运行,我希望得到。但如果没有给用户的警告信息..到目前为止我已经尝试了
bool itemExists = false;
foreach (object obj in comboBox1.Items)
{
itemExists = obj.Equals(comboBox1.Text);
if (itemExists)
{
itemExists = true;
}
break;
}
if (itemExists)
{
MessageBox.Show("good00");
}
else
{
MessageBox.Show("sorry no value");
}
}
以及
bool test ;
test = comboBox1.Items.OfType<object>().Any(cbi => cbi.Equals(comboBox1.Text));
if (test)
{
MessageBox.Show("values matched");
}
else
{
MessageBox.Show("not matched");
}
但我没有得到我想要的东西.. 它应该工作,它检查组合框.text与其列表,如果有任何匹配,然后返回true和真值使用进一步的功能。如果它们不匹配则返回false,并且该false用于发送错误消息..
任何建议..
感谢..
答案 0 :(得分:1)
这句话什么都不做:
if (itemExists)
{
itemExists = true;
}
无条件之后的break
。将其移至if
条件将解决问题:
if (itemExists)
{
break;
}
对于string
类型的对象,您的第二种方法应该不加修改。要更改它以使用所有类型的对象,请使用
test = comboBox1
.Items.OfType<object>()
.Any(cbi => cbi.ToString() == comboBox1.Text);
仅在没有匹配时显示消息
if (!itemExists)
{
MessageBox.Show("sorry no value");
}