Difference between revisions of "6237 Programmering II (Csharp) Agenda/Loops"
(→Loops) |
m (added Category:Csharp using HotCat) |
||
Line 88: | Line 88: | ||
[[Category:6237 Programmering II]] | [[Category:6237 Programmering II]] | ||
+ | [[Category:Csharp]] |
Latest revision as of 16:51, 21 December 2016
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);
}
}