6237 Programmering II (Csharp) Agenda/Loops
Loops
Hvis man skal loope igennem et array af værdier findes der flere forskellige måde. Den simpleste er nok at anvende "foreach" her tilskrives streng variablen s en ny værdi fra arrayet strArr for hver gang loopet gennemløbes.
class Program
{
static void Main(string[] args)
{
String[] strArr = new String[4] { "Kurt", "Jacob", "Jens", "Pia" };
foreach (String s in strArr)
{
System.Console.WriteLine(s);
}
}
}
Problemet med foreach er at man ikke kan ændre værdien for s inde i loopet.
Eksemplet herunder vil altså give en fejl
foreach (String s in strArr)
{
s = "Jakob";//Dette kan ikke lade sig gøre
System.Console.WriteLine(s);
}
I stedet kan man anvende en for loop. Her kan man godt ændre på værdierne inde i loopet. Eksemplet her vil f.eks. udskifte Jacob med Jakob
class Program
{
static void Main(string[] args)
{
String[] strArr = new String[4] { "Kurt", "Jacob", "Jens", "Pia" };
for (int i = 0; i < strArr.Length; i++)
{
if (strArr[i] == "Jacob") strArr[i] = "Jakob";
}
}
}
Hvis vi ikke har en bestemt mængde men istedet vil fortsætte indtil en bestemt betingelse er opfyldt kan anvendes et while loop. Eksemplet herunder vil blive ved med at trække 360 fra tallet vinkel, indtil vinkel er mindre end 360.
class Program
{
static void Main(string[] args)
{
Double vinkel = 2408.23;
while (vinkel > 360)
{
vinkel -= 360;
}
}
}
Hvis man gerne vil sikre at loopet gennemløbes minimum en gang kan man istedet lave en do while.
class Program
{
static void Main(string[] args)
{
Double vinkel = 2408.23;
do
{
vinkel -= 360;
}
while (vinkel > 360);
}
}