Difference between revisions of "6237 Programmering II (Csharp) Agenda/Loops"

From Teknologisk videncenter
Jump to: navigation, search
(Loops)
m (added Category:Csharp using HotCat)
 
(2 intermediate revisions by one other user not shown)
Line 11: Line 11:
 
static void Main(string[] args)
 
static void Main(string[] args)
 
{
 
{
String[] strArr = new String[4] { "Kurt", "Jacob", "Jens", "Pia" };
+
    String[] strArr = new String[4] { "Kurt", "Jacob", "Jens", "Pia" };
  
 
             foreach (String s in strArr)
 
             foreach (String s in strArr)
Line 88: Line 88:
  
 
[[Category:6237 Programmering II]]
 
[[Category:6237 Programmering II]]
 +
[[Category:Csharp]]

Latest revision as of 17: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);       
	}
}