Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

Tot nu toe bepaalden wij in de code welke waarden een programma gebruikt. Vaak wil je echter dat de gebruiker de gegevens aanlevert. Daarvoor lees je invoer in met Console.ReadLine().

Invoer inlezen

Console.ReadLine() leest één regel invoer in en geeft die terug als tekst (string). In een echt programma toon je meestal eerst een vraag (een prompt) met Console.Write, zodat de gebruiker weet wat hij moet typen. Console.Write zet geen nieuwe regel achter de tekst, dus de gebruiker typt zijn antwoord meteen achter de vraag:

Console.Write("Geef je naam: ");
string naam = Console.ReadLine();
Console.WriteLine("Hallo, " + naam);

Invoer omzetten naar een getal

Hier zit een belangrijk addertje: Console.ReadLine() geeft altijd tekst terug, ook als de gebruiker een getal typt. Wil je met die invoer rekenen, dan moet je de tekst eerst omzetten naar een getal:

int leeftijd = Convert.ToInt32(Console.ReadLine());
double lengte = Convert.ToDouble(Console.ReadLine());

Je leest dus eerst in als tekst en zet in dezelfde regel meteen om naar het juiste type.

Invoer op Dodona. Op Dodona komt de invoer van het invoerkanaal, niet van iemand die live zit te typen. In de oefeningen laten we de prompt daarom weg en lezen we de invoer meteen in: de verbetering vergelijkt jouw uitvoer letterlijk met de verwachte uitvoer, en die bevat enkel het resultaat dat we vragen, geen prompt ervoor. In gewone programma’s (en in de voorbeelden in deze cursus) toon je de prompt wél, zoals hierboven.

Een kommagetal voer je in met een punt als decimaalteken: 36.6, niet 36,6.