假設下面的例子:如何重複循環迭代c#?
int Lenght = 10;
for(int i = 0; i < Length; i ++)
{
if(i == 5)
{
}
}
比方說,在I = 5,我希望循環重複,直到條件(X)得到滿足,繼續其他迭代之前。如何保持if語句運行直到條件(x)可用?
假設下面的例子:如何重複循環迭代c#?
int Lenght = 10;
for(int i = 0; i < Length; i ++)
{
if(i == 5)
{
}
}
比方說,在I = 5,我希望循環重複,直到條件(X)得到滿足,繼續其他迭代之前。如何保持if語句運行直到條件(x)可用?
你可以做以下事情,雖然這不是一個好主意。你想做什麼?
for (var i = 0; i < 10; i++)
{
if (i == 5)
{
while (!condition(x)) { }
}
}
謝謝@InBetween,但我想知道,是否可以將計數器設置爲i = 5,並將它保持在該點,直到我完成其他任務,然後讓我按正常增量? –
int Lenght = 10;
for(int i = 0; i < Length; i ++)
{
// this loop iterate through all values
// lets say at i = 5, I want the loop to repeat until conition (x) is met
// before continuing to other iterations
if(i == 5)
{ // For example sake assuming x is an int and 10 is your exit val
// Post more code for a better answer
while (x != 10)
{
x++;
}
}
}
可以說,在我= 5,我希望循環重複,直到條件(X)滿足
對我來說,這聽起來像你希望循環執行相同的邏輯,直到滿足x
。例如,如果您在循環的每次迭代中打印的值爲i
,則希望繼續打印5
,直到滿足x
。
因此,而是採用了for
循環,我建議使用while
循環,而不是:
的continue
語句將循環到它的下一個迭代,這意味着i++
語句也不會直到滿足x
的條件。
與我有關打印的i
的值例子去,讓我們假設你想打印的數字1
到10
,但你想打印5
3倍。你可以是這樣做的:
int length = 10;
int i = 1;
int x = 1;
while (i <= length)
{
Console.WriteLine(i);
if (i == 5 && x < 3)
{
x++;
continue;
}
i++;
}
,輸出:
1
2
3
4
5
5
5
6
7
8
9
10
你應該解釋一下你想要做什麼。如果我正確地理解了你,並且你想繼續做同樣的頂級循環,直到滿足某些條件,我只需重置計數器。例如'if(i == 5 &&!condition){i = 4;}'。循環計數器然後將其增加到5。 –
所以你的意思是我可以將計數器設置爲i = 4。好的,我會試一試。 –
你正在做的是一個阻塞操作,這意味着如果改變循環計數器,你可以坐在一個內部while循環中,直到滿足條件。 – Snympi