TOC

This article has been localized into Danish by the community.

Kom i gang:

Hello world forklaret

I det foregående kapitel forsøgte vi at skrive et stykke tekst til konsollen i vores første C#-applikation. For at se et aktuelt fremskridt, gik vi ikke ind i mange detaljer om de kodelinjer vi benyttede, så dette kapitel er en forklaring på Hello world-eksempelkodningen. Som du formentlig kan få øje på via kodningen, er der nogle linjer der ligner hinanden, så vi vil bringe disse tilbage i grupper med henblik på en individuel forklaring. Lad os begynde med de korteste og mest almindelige tegn i vores kode: De såkaldte {and}-koder. De anvendes ofte til noget som er i krøllede parenteser, og i C# markerer de begyndelsen og slutningen af en logisk blokkodning. De krøllede parenteser anvendes på massevis af andre sprog, inklusive C++,Java, JavaScript og mange andre steder. Som du kan se i kodningen, benyttes de for at pakke de adskilige kodelinjer ind som hører sammen. I senere eksempler vil de blive mere forståeligt hvordan de benyttes.

Lad os så begynde fra begyndelsen

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using er et nøgleord der er markeret med blåt af redaktøren. Brugen af nøgleord importerer en navneområde, og et navneområde er en samling af klasser. Klasser bringer os en slags funktionalitet og når man arbejder med en avanceret IDE som Visual Studio, vil den sædvanligvis danne dele af en ligegyldig kode til os. I dette tilfælde har den dannet en klasse til os, og har importeret navneområdet som er blevet forlangt eller forventet at blive benyttet på almindelig vis. I dette tilfælde er der importeret 5 navneområder til os som hver indeholder massevis af brugbare klasser. Fx benytter vi Console-klassen som er den del af Systemnavneområdet.

På den anden side benytter vi virkelig ikke System.Linq endnu (for eksempel), så hvis du er sprogrenser, vil du muligvis fjerne den linje, men det vil ikke betyde meget på dette tidspunkt.

Som du kan se får vi endda vort eget navneområde:

namespace ConsoleApp1

Navneområdet (også kaldet namespace) ConsoleApp1 er nu hovednavneområdet for denne applikation, og nye klasser (classes) vil være en del af dem som standard (i edb-sprog anvendes ordet 'default' som den faglige betegnelse for ordet 'standard', noget som findes som udgangspunkt)

Det næste er at vi definerer vores klasse (herefter 'class'). Siden C# virkelig er et Objektorienteret sprog (Object Oriented language), er enhver kodelinje som faktisk foretager sig noget, pakket ind i en class. I dette tilfælde kaldes class simpelthen Program:

class Program

Vi kan have flere classes, selv i samme fil. I øjeblikket behøver vi kun en class. En class kan indeholde adskillige variabler, egenskaber og metoder, forhold vi vil gå dybere ind i på et senere tidspunkt. I øjeblikket er det eneste du behøver at vide at vores aktuelle class indeholder en metode og intet andet. Det erklæres på denne måde:

static void Main(string[] args)

Denne linje er muligvis den mest complicerede i dette eksempel, så lad os opdele den en smule. Først er der ordet static. Static-nøgleordet fortæller os at denne metode kan blive være tilgængelig uden at indsætte the class, men mere om dette i vort kapitel om klasser. (Klasseinstantiering er mekanismen hvormed objekter oprettes ud fra klassen Enhver form for instantiering involverer allokering af lager til objektet o.a.)

Det næste nøgleord er void og fortæller os hvad denne metode bør returnere. Fx kunne det være et heltal eller en tekststreng, men i dette tilfælde ønsker vi ikke at vores metode skal returnere noget som helst. (C# benytter nøgleordet void for at udtrykke begrebet nothing) *void=tomrum, ingenting

Det næste ord er Main som simpelthen er navnet på vores metode. Denne metode er vores applikations såkaldte indgangsord, det vil sige det første kodningsstykke som skal udføres, og i vort eksempel det eneste stykke der kan udføres.

Nu kan, efter metodenavnet, en samling af argumenter specificeres indenfor et sæt af parenteser. I vort eksempel behøver vores metode kun et argument som kaldes for args. Typen af argumentet er en string, eller for at være mere præcis, en kæde af strenge, men mere om dette senere. Hvis du tænker efter, giver det perfekt mening siden Windows-applikationer altid kan hidkaldes med et valgfrit sæt af argumenter. Disse argumenter vil blive videregivet som tekststrenge til vores main-metode.

Og det er så det. Du burde nu have fået en grundlæggende forståelse af vores første C#-applikation så vel som de grundlæggende principper om hvad der får en konsolapplikation til at virke.