Commandoregelargumenten lezen

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.

Zie Ook