看看这个:
foreach(Object Item in comboBox1.Items)
{
if (Convert.ToString(Item) == Convert.ToString(dsGirasol.Tables["DatosGirasol"].Rows[contador][0]))
{
repetido = true;
break;
}
else
{
repetido = false;
}
}
请注意,两个可能的输出都有一个消息框。但是,当我运行它时,根本没有任何内容,其余的代码继续运行...
编辑:添加了周围的循环!
答案 0 :(得分:2)
为什么你想要break
?试试这个:
if (Convert.ToString(Item) == Convert.ToString(dsMaiz.Tables["DatosMaiz"].Rows[contador][0]))
{
repetido = true;
MessageBox.Show("Encontre uno igual");
}
else
{
repetido = false;
MessageBox.Show("Encontre uno diferente");
}
答案 1 :(得分:1)
在评估相等性之前,请尝试评估条件的左侧和右侧部分。 我只能想象它必须抛出一个被默默捕获的异常。 这将帮助您调试问题。
例如:
var left = Convert.ToString(Item);
var right = Convert.ToString(dsMaiz.Tables["DatosMaiz"].Rows[contador][0]);
if (left == right)
{
...
}
else
{
...
}
编辑: 现在我看到你正在使用循环,回到基础,循环甚至运行? 低技术调试,检查组合框中是否有一些项目,并且您正在引用您想要的组合:)
答案 2 :(得分:0)
好的,这很奇怪,我设法通过将每个循环放在一个单独的方法来解决问题,现在它可以工作了,感谢你的帮助!