C#:
Commandoregelargumenten lezen
Hoe:
Zo verslind je die commandoregelargumenten:
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Je hebt de volgende argumenten ingevoerd:");
foreach (string arg in args)
{
Console.WriteLine(arg);
}
}
}
Als je je programma zo uitvoert: jouwapp.exe arg1 arg2 arg3
, verwacht dan de uitvoer:
Je hebt de volgende argumenten ingevoerd:
arg1
arg2
arg3
Diepe Duik
De traditie van commandoregelargumenten gaat terug tot het begin van de computertijd, waardoor vroege software flexibel kon zijn. In C# is args
een string-array in Main()
die de doorgegeven argumenten bevat. Alternatieven? Zeker, er zijn bibliotheken zoals CommandLineParser
die de mogelijkheden versterken, maar voor veel taken is args
je snelle en vieze vriend.
Onder de motorkap begint een C# app met Main()
. Wanneer je je app vanaf een commandoregel of script aanroept, stopt het besturingssysteem de argumenten in een array en geeft deze door aan Main()
. Makkelijk zat.
Heb je een complexe app? Misschien heb je het nodig om vlaggen, opties en waarden te parsen? Dat is waar bibliotheken schitteren met meer controle en minder boilerplate-code dan ruwe args
-parsing. Maar voor eenvoudige invoer? args
helemaal.