Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每5次迭代使循环停止计数C#_C#_.net_Winforms_Loops_For Loop - Fatal编程技术网

每5次迭代使循环停止计数C#

每5次迭代使循环停止计数C#,c#,.net,winforms,loops,for-loop,C#,.net,Winforms,Loops,For Loop,我正在使用WinForms。在我的表格里我有一个按钮。每次点击按钮,程序都会计数。我使用for循环来计算1-500之间的数字。如何使for循环每5次停止一次 我下面的代码计数为5,然后停止。这不是我想要循环做的。循环应该记住之前留下的数字,然后从那里开始计数,下面是一个示例 对于循环Couting示例:单击:1 2 3 4 5(停止)再次单击按钮:6 7 8 9 10(停止)再次单击按钮:11 12 13 14 15…等等 for(int i = 0; i <= 500 ;

我正在使用WinForms。在我的表格里我有一个按钮。每次点击按钮,程序都会计数。我使用for循环来计算1-500之间的数字。如何使for循环每5次停止一次

我下面的代码计数为5,然后停止。这不是我想要循环做的。循环应该记住之前留下的数字,然后从那里开始计数,下面是一个示例

对于循环Couting示例:单击:1 2 3 4 5(停止)再次单击按钮:6 7 8 9 10(停止)再次单击按钮:11 12 13 14 15…等等

        for(int i = 0; i <= 500 ; i++)
        {
            Debug.Print("Value of i: " + i.ToString());               
            if(i == 5)
            {
                break;
            }                         
        }

for(int i=0;i您需要将变量转换为私有成员

int i = 0;
那么您的代码将是:

    for(; i <= 500 ; i++)
    {
        Debug.Print("Value of i: " + i.ToString());               
        if(i % 5 == 0)
        {
            break;
        }                         
    }

for(;i将当前计数存储在类的成员变量中,并使用该变量重新初始化循环中的计数器

//In your class a private member:
private int masterCounter = 1;

//In your function  
for(int i = (masterCounter >= 500 ? 1 : masterCounter); i <= 500 ; i++)
{
    Debug.Print("Value of i: " + i.ToString());               
    if(i % 5 == 0)
    {
        masterCounter = i + 1;
        break;
    }                         
}
//在您的类中,有一个私有成员:
专用int主计数器=1;
//在你的职责范围内
对于(int i=(masterCounter>=500?1:masterCounter);i=500?1:masterCounter)
执行此操作,因为如果
masterCounter
大于或等于500,则返回1,否则它是当前计数,作为
i
的起始值


另一个有趣的部分是
如果(i%5==0)
只有当i是5的倍数时,它才会计算为真,因为%计算整数除法的余数。

您可以使用另一个变量:

private int num = 0; 
//Set this at the top of the class, not in the same function as the loop
然后,每次单击按钮时,使用该选项来记住:

for(int i = num; i <= 500 ; i++)
{
    Debug.Print("Value of i: " + i.ToString());           
    if(i == num+5)
    {
        num+=5;
        break;
    }                         
}

用于(int i=num;i继续怎么样?!而不是break@CarbineCoder然后,
if
语句在我每次单击它所说的按钮时都会被使用。i:0的值。这不是我所想的。你在哪里设置masterCounter?如果你用与循环相同的方法设置它,它将在每次私有int masterCo时重置为0unter位于我的按钮单击事件上方。正如@BlueBoy所提到的,行
private int masterCounter=0;
必须作为成员变量进入类中,而不是函数内部。否则,它将在每次按钮单击时变为零。再次编辑,因此现在所有内容都是基于1的。而不是0。很抱歉,我没有准确阅读您的描述,因为您nt以1而不是0开头。