Beginnen met C#
Doelstelling
Na deze les weet je wat je moet doen om met een C# project te beginnen.
Leerpad
Om C# programma's te schrijven heeft Microsoft drie mogelijkheden voorzien:
- Visual Studio voor Windows of Visual Studio Community voor Mac
- Visual Code
- CLI (Programmeren met de .NET Core Command Line Interface)
In deze les gebruiken Visual Studio Community voor Windows of voor Mac.
Ga naar de map met de naam Programmeren2 of naar Programmeren3. Dat hangt af van welke module je volgt.
Open Visual Studio en druk op Ctrl + Shift + n en kies voor Console Application. Geef aan je project de naam BeginnenMetCSharp. En plaats het project in de map met de naam Programmeren2:

De IDE (Integrated Development Environment) wordt geopend. In het midden van je scherm zie je de editor, en aan de rechterzijde de Solution Explorer. In de Solution Explorer kan je de bestanden, die je gemaakt hebt, beheren. Alle bestanden die je maakt staan hierin:

Klik met de rechtermuisknop op de naam van je project om het mapje Properties met AssemblyInfo te openen:

Hier wordt informatie over je project bijgehouden, zoals instellingen voor het compileren en debuggen. Je kan hier ook een Copyright, Titel, en beschrijving instellen:

Een ander bestand die je in de Solution Explorer vindt is Program.cs. Elke C# programma start met het uitvoeren van de code in dit bestand. Hierin schrijf je de basis van de applicatie.Als je de applicatie geschreven hebt en je hem wilt testen, kun je dit doen doormiddel van F5 in Visual Studio, door dotnet run in terminal te typen in Visual Code of op CLI.
In het Program.cs bestand staat standaard:
using System; namespace BeginnenMetCSharp { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } }
Door using System
aan het begin op te geven, heb je in je programma toegang tot alle klassen die in deze namespace zitten. Als je iets zou willen weergeven op het scherm kan je het volledige pad naar de Console
klasse opgeven System.Console.WriteLine("Hello World")
want de Console
klasse staat in de namespace met de naam System
. Maar dan moet je telkens wanneer je de Console
klasse wilt gebruiken ook de namespace ervoor typen.
Maar als je aan het begin, helemaal bovenaan, aangeeft dat je gebruik maakt van de namespace System
, dan kan je de Console
klasse gebruiken zonder telkens weer de namespace System
ervoor te typen. Dan is Console.WriteLine("Hello World")
voldoende.
Nou maakt dit voor 1 regel nog niet zoveel uit, maar als je honderden regels code hebt, is het veel efficiënter om in het begin aan te geven dat je System
gebruikt, dan om het op iedere regel waar je het gebruikt neer te zetten. De voorwaarde is wel dan er geen conflict optreedt met een andere klasse met dezelfde naam in een andere namespace. Want dan moet je wel telkens weer de juiste namespace opgeven.
De code zelf programmeer je in namespaces, klassen en methoden (in OO heten functies methoden). Als je in Visual Studio een nieuwe Console Applicatie maakt, worden er standaard 1 namespace, 1 klasse, en 1 methode voor je aangemaakt, in dit geval is dat de klasse Program
.

De namespace heeft standaard dezelfde naam als de naam van het project:
namespace BeginnenMetCSharp { }
De klasse wordt in de namespace gedeclareerd met het sleutelwoord class
gevolgd door de naam van de klasse, namelijk Program
:
class Program { }
En de methode Main(string[] args)
wordt in de klasse Program gedeclareerd:
static void Main(string[] args) { Console.WriteLine("Hello World!"); }
Een eerste programma schrijven:
Om de traditie in ere te houden, zullen we beginnen met een programma dat "hello world" op het scherm print. We gebruiken daarvoor het command Console.WriteLine().
Opgelet
- C# is case sensetive of hoofdletter gevoelig, bijvoorbeeld:
Console.Writeline()
zal niet werken, omdatWriteline
met 2 hoofdletters geschreven dient te wordenWriteLine
; - de naam die je aan een namespace of een methode geeft schrijf je in pascalnotatie: alle woorden worden zonder spaties ertussen aan elkaar plakt en elk woord begint met een hoofdletter;
- de naam van een veld (een variabele) schrijf je in camelcase: alle woorden worden zonder spaties ertussen aan elkaar plakt en elk woord begint met een hoofdletter behalve het eerste woord, dat schrijf je met een kleine letter, zoals de twee bulten van een kameel waarvan de ene kleiner is dan de andere;
static
geeft aan dat de methode tot de klasse behoort; je kan die oproepen zonder dan je eerst een instantie of exemplaar van de klasse moet maken;void
houdt in dat de methode niks teruggeeft;Main
betekent dat het de instap functie van het programma is, hier begint het programma, er moet dus altijd 1 functieMain
zijn (er kunnen er geen 2 zijn).
Je het programma uitvoeren door op F5 te drukken of dotnet run te type in de terminal. Je zal geen tijd hebben om het bericht "hello world" te zien omdat het programma direct weer afgesloten wordt. Dit komt doordat het programma precies doet wat de code zegt, Het print "Hello world" naar het scherm, en klaar is kees. Dus het sluit zichzelf af. Dit kunnen we voorkomen door middel van Console.ReadKey()
. Hiermee zal het programma wachten totdat er op een toets gedrukt wordt, pas dan zal het programma verder gaan, en zichzelf afsluiten.
Je programma moet er nu zo uit zien:
using System; namespace BeginnenMetCSharp { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.ReadKey(); } } }