C#:
Komennoriviparametrien lukeminen
How to:
Käynnistä ohjelma komennolla ja argumenteilla, esim. myapp.exe -mode console -verbose
. C#:ssa argumentit käsitellään Main
-metodissa:
using System;
class Program
{
static void Main(string[] args)
{
foreach(var arg in args)
{
Console.WriteLine(arg);
}
}
}
Kutsuttaessa ohjelmaa komennolla myapp.exe first second
, tulostuu:
first
second
Deep Dive
Komentoriviparametrien lukeminen on vanhaa perua jo 1960-luvulta saakka, kun käyttöliittymät olivat tekstipohjaisia. C#:ssa Main
-metodin args
-taulukko on standardi tapa, mutta on olemassa myös nykyaikaisempia keinoja, kuten System.CommandLine
-kirjasto, mikä tuo voimakkaampia työkaluja argumenttien hallintaan. Perinteisessä args
-taulukossa argumentit ovat vain merkkijonoja, joten niitä täytyy käsin parsia ja tyyppimuuntaa kunnolliseen käyttöön, toisin kuin System.CommandLine
-kirjaston kanssa.
See Also
- Microsoftin C#-dokumentaatio komennoriviparametreista: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/main-and-command-args/
- System.CommandLine GitHub-sivusto: https://github.com/dotnet/command-line-api
- Stack Overflow keskustelut ja esimerkit: https://stackoverflow.com/questions/tagged/command-line-arguments?tab=Votes