c#如何在循环X次后中断

本文关键字:中断 循环 | 更新日期: 2023-09-27 17:50:27

简单地说,我如何在打印完20个数字后停止下面的代码?

感谢
    static void Main(string[] args)
    {
        int num1 = 4;
        int num2 = 7;
        for (int i = 200; i < 2000; i++)
        {
            if ((i % num1 == 0) && (i % num2 ==0))
            {
                Console.WriteLine(i);
            }
        }
        Console.Read();
    }

我试着在"Console.WriteLine(I);"后面写"break",但它只打印了1个数字,而我需要20个。

谢谢

c#如何在循环X次后中断

你需要跟踪你已经打印了多少个数字,一旦你打印的数字足够了,就跳出循环:

int counter = 0;
for (int i = 200; i < 2000; i++)
{
     if ((i % num1 == 0) && (i % num2 ==0))
     {
         Console.WriteLine(i);
         counter++;
         if(counter == 20)
             break;
     }
}

或者您可以使用带有两个条件的for环:

for (int i = 200, j= 0; i < 2000 && j < 20; i++)
{
    if ((i % num1 == 0) && (i % num2 ==0))
    {
        Console.WriteLine(i);
        j++;
    }
}
for (int i = 200,loopCounter=0; i < 2000; i++)
    {
        if ((i % num1 == 0) && (i % num2 ==0))
        {
                 if(loopCounter == 20)
                   break;
            Console.WriteLine(i);
                    loopCounter++;
        }
    }

当程序控制到达break时,它将退出正在运行的循环。
为了确保循环在正确的点中断,您需要检查想要中断循环的条件。

static void Main(string[] args)
{
    int num1 = 4;
    int num2 = 7;
    int counter=0
    for (int i = 200; i < 2000; i++)
    {
        if(counter>20)
           break;
        if ((i % num1 == 0) && (i % num2 ==0))
        {
            counter++;
            Console.WriteLine(i);
        }
    }
    Console.Read();
}