26.07.2013 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Denne standard metode skal findes i alle C# applikationer dvs i alle C# programmer som skal<br />

kunne køres som et program (som vi gjorde ved at taste Test på DOS linjen). Metoden Main()(NB<br />

’Main’ med stort M modsat i C++) er programmets ’entry point’. Hvis Main() fjernes fra koden vil<br />

en kompilering give en fejl (Prøv det!):<br />

error CS5001: Program 'Test.exe' does not have an entry point defined<br />

En metode i C# har til formål at udføre en handling, at gøre noget.<br />

Metoder er normalt public dvs de kan kaldes ’udefra’. Static: betyder at metoden kaldes på en<br />

klasse og ikke på et objekt (mere herom senere). Void: betyder at metoden Main() ikke returnerer<br />

noget som helst.<br />

Main(string[] args) : ‘args’ er et array eller en liste over de evt. parametre som programmet kaldes<br />

med. Fx kunne Test kaldes sådan: Test 1 2 3. De 3 tal gemmes i listen ’args’ og kunne bruges som<br />

input parametre til programmet. (Se eks senere). string: er en type/klasse. En string kan gemme en<br />

hvilken som helst værdi som fx ’88’ eller ’Johnny’.<br />

NB: Der er i C# tradition for at skrive string og ikke String – men traditionen er vaklende. String<br />

er en klasse: System.String og en basal type. Så både string og String er OK!<br />

Main() indledes lige som klassen med en { og slutter med en }. Main() er altså en blok.<br />

Inden i blokken står to sætninger (en ’sætning’ er en linje som afsluttes med ;).<br />

System.Console.WriteLine("Hello World!");<br />

System.Console.Read();<br />

WriteLine(): er en metode som udskriver den streng/tekst som den har som parameter – dvs den<br />

tekst som står i citat mellem parenteserne. ALLE metoder kaldes med parenteser – de viser at der er<br />

tale om en metode. De parametre (’input’) som metoden anvender står mellem parenteserne.<br />

Read(): stopper programmet og venter på at brugeren indtaster eet tegn (fx ’a’);.<br />

Problemet lige nu – set fra kompilerens side – er: hvilken WriteLine metode tales der om og hvor<br />

findes den? Kompileren har en ’resolver’ som prøver at finde ud af hvad jeg mener. (Problemet er<br />

det samme med Read()). Disse metoder er jo IKKE beskrevet i Test.cs!!<br />

C# anvender her ’namespaces’ således: WriteLine() er den metode som findes i namespace<br />

’Console’ som igen findes inden i namespace ’System’. De forskellige namespaces som findes i<br />

forskellige DLL filer kan ses i .NET mappen i Windows (se tidl).<br />

Som det vil fremgå senere kunne jeg teoretisk have skrevet min egen metode ’WriteLine()’ – derfor<br />

skal kompileren vide hvilken metode jeg taler om.<br />

For at gøre det mere ’brugervenligt’ kan man i C# indlede koden med en using sætning og derefter<br />

undgå at skrive den fulde ’sti’ til metoderne. Koden kan altså skrives således:<br />

//fil: test.cs<br />

//postcondition: outputter 4 linjer til skærmen<br />

using System;

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

Saved successfully!

Ooh no, something went wrong!