Operativsystem: .............................................................
Operativsystem: .............................................................
Operativsystem: .............................................................
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;