首页 > 解决方案 > cicle if-do 虽然不工作,但看起来很完美

问题描述

我正在做一个“获胜者表”,来自一个excel页面,这个cicle是为了找到获胜者:

            if (G1 != "0")
            {
                do
                {
                    D1 = dgv1.Rows[con].Cells[0].FormattedValue.ToString();
                    D2 = dgv1.Rows[con].Cells[1].FormattedValue.ToString();
                    D3 = dgv1.Rows[con].Cells[2].FormattedValue.ToString();
                    D4 = dgv1.Rows[con].Cells[3].FormattedValue.ToString();

                    if (D1 == G1)
                    {
                        TablaGanadores.Rows.Add(D1.ToString(), D2.ToString(), D3.ToString(), D4.ToString());
                        break;

                    }
                    else
                    {
                        con++;
                    }


                }
                while (con < 999);
            }

有一个文本框,您可以在其中输入获胜者号码,它的默认值是“0”,这就是为什么如果 G1(文本框中的数字)不是 0,它将继续执行 cicle“Do-While”,我在 D1 中输入,D2,D3,D4 excel页面1行的数据(它们在cicle之外单独工作),然后是cicle,如果D1(要比较的数字在哪里)与文本框中的获胜者号码相同,它将在我的表“TablaGanadores”中创建一个新行,使用 D1、D2、D3、D4(它在 cicle 之外工作),然后,它打破了 cicle,否则,只需将 1 添加到我的计数器,以检查我的下一行excel文件,有999行

但它就是不工作,我在我的限制日给我的程序,这是它的最后一件事,我的头会爆炸,我没有发现错误

标签: c#if-statementcounterdo-whilebreak

解决方案


推荐阅读