epicours/Prog/Loops.md

1.7 KiB

In C#, loops are called iteration statements. We need to master both, recursion and loops. There are 3 kinds of loops in C# :

  • while and do (...) while
  • for
  • foreach

For the rest of the document, something between <>is something mandatory and something between []is something optionnal

While loop

while (<condition>)
{
	// repeat stuff
}

The condition is a boolean Example

unit SumWhile(unit n)
{
	uint loop = 0;
	while (n > 1)
	{
		loop += 1;
		n = n - 1;
	}
	return loop;
}

Iteration statements - do (..) while

do 
{
	// Repeat stuff
} while (condition)

Same thing that the other one but return in a different way Example

uint SumDoWhile(uint n)
{
	uint loop = 0;
	do
	{
		loop += 1;
		n = n - 1;
	} while (n > 1):
	return loop;
}

For loop

for ([initialize]; [condition]; [iterator])
{
	// Repeat stuff
}

Example:

uint SumFor(uint n)
{
	uint res = 0;
	for (uint i = 1; i < n; ++i)
	{
		res += 1;
	}
	return res;
}

Comparaison with the while loop

for ([initialize]; [condition]; [iterator])
{
	// Repeat stuff
}

[initializer]
while ([condition])
{
	// Repeat stuff
	[iterator]
}

We can also doo like the while loop

for ( ; [condition] ; )
{
	// repeat stuff
}

Foreach loop

string test = "ABCD";
foreach (char c in test)
{
	Console.WriteLine(c);
}

Jump statements

Jump statements is something that can change the behaviour of a loop inside itself. It's possible to change the behaviour of the loops using the following keyworkds:

  • break
  • continue
  • return

⚠️ It's not a good idea to use them, but rather to rework your loop correctly instead