Beginnen met C#
Home

Beginnen met C#

Beginnen met C#

Deze tutorial gaat over de basis van C#. Microsoft ontwikkelde de C# (spreek uit als C Sharp) programmeertaal als een antwoord op het succes van Java.
C# is een programmeertaal, die volledig OOP is (Object Orientated Programming). Dat houdt in dat het volledig op het gebruik van objecten gericht is. Dus is de kennis van OOP essentiëel.

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:

  1. Visual Studio voor Windows of Visual Studio Community voor Mac
  2. Visual Code
  3. 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:

New Project BeginnenMetCSharp
New Project BeginnenMetCSharp

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:

Startscherm BeginnenMetCSharp
Startscherm BeginnenMetCSharp

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

Assembly Info Openen BeginnenMetCSharp
Assembly Info Openen BeginnenMetCSharp

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

Assembly Info BeginnenMetCSharp
Assembly Info BeginnenMetCSharp

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.

orde in dotnet
orde in dotnet

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

  1. C# is case sensetive of hoofdletter gevoelig, bijvoorbeeld: Console.Writeline() zal niet werken, omdat Writeline met 2 hoofdletters geschreven dient te worden WriteLine;
  2. 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;
  3. 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;
  4. 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;
  5. void houdt in dat de methode niks teruggeeft;
  6. Main betekent dat het de instap functie van het programma is, hier begint het programma, er moet dus altijd 1 functie Main 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();
        }
    }
}

JI
2018-03-25 17:17:59