26.07.2013 Views

Operativsystem: .............................................................

Operativsystem: .............................................................

Operativsystem: .............................................................

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

foreach:<br />

er et alternativ til almindelige for-sætninger. foreach er en iterations kontrol struktur (som ikke<br />

findes i C(++) eller Java, men som C# har lånt fra Visual Basic).<br />

Dens fordel er at man kan gennemløbe en liste uden at vide hvor mange elementer listen<br />

indeholder.<br />

En ulempe ved foreach er at den er readonly – man kan ikke ændre værdier mens man løber<br />

igennem (som man kan i en for sætning).<br />

Syntaksen er:<br />

foreach (object o in collection){}, hvor collection er en eller anden liste og o er denne listes type.<br />

Et eksempel, som udskriver en liste over drev på computeren:<br />

//fil: foreach.cs<br />

//postcondition: outputter en liste over computerens drev til skærmen:<br />

using System;<br />

public class app{<br />

public static void Main(string[] args){<br />

}<br />

}<br />

//Environment er en klasse som beskriver denne maskines styresystem:<br />

//NB: tabellen drev angives ikke med nogen størrelse<br />

//tabellen initialiseres med det samme:<br />

string[] drev=Environment.GetLogicalDrives();<br />

//foreach gennemløber et måske ukendt antal drev<br />

//modsat en for sætning som skal kende antallet af pladser:<br />

foreach(string s in drev){<br />

Console.WriteLine("Drev: {0}", s);<br />

}<br />

Console.Read();//teknisk af hensyn til Windows<br />

Det følgende kode eksempel illustrerer at foreach er praktisk netop når antallet af objekter som skal<br />

gennemløbes er ukendt.<br />

Programmet anvender klasser fra System.IO.dll og udskriver en liste over filer i en mappe:<br />

//fil: findfiler.cs

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!