Argumenty příkazového řádku (Průvodce programováním v C#)
Argumenty můžete poslat do metody Main definováním metody jedním z následujících způsobů:
static int Main(string[] args)
static void Main(string[] args)
[!POZNÁMKA]
Chcete-li povolit argumenty příkazového řádku v metodě Main v aplikaci Windows Forms, je nutné ručně upravit podpis Main v program.cs.Kód generovaný v návrháři Windows Forms vytvoří Main bez vstupního parametru.Můžete také použít Environment.CommandLine nebo Environment.GetCommandLineArgs pro přístup k argumentům příkazového řádku z jakéhokoli místa v konzole nebo aplikace systému Windows.
Parametr metody Main je pole String, které představuje argumenty příkazového řádku.Obvykle zjistíte, zda existují argumenty testováním vlastnosti Length, například:
if (args.Length == 0)
{
System.Console.WriteLine("Please enter a numeric argument.");
return 1;
}
Můžete také převést řetězcové argumenty pro číselné typy s použitím třídy Convert nebo metody Parse.Například následující výraz převede string na číslo long pomocí metody Parse:
long num = Int64.Parse(args[0]);
Je také možné použít typ jazyka C# long využívající aliasu Int64:
long num = long.Parse(args[0]);
Můžete také použít metodu třídu Convert metody ToInt64 chcete-li provést stejnou akci:
long num = Convert.ToInt64(s);
Další informace naleznete v tématu Parse a Convert.
Příklad
Následující příklad ukazuje, jak použít argumenty příkazového řádku v konzolové aplikaci.Aplikace přijímá jeden argument za běhu, převede argument na celé číslo a vypočítá faktoriál čísla.Pokud nejsou dodány žádné argumenty, aplikace vydá zprávu, která vysvětluje správné použití programu.
Pro zkompilování a spuštění aplikace z příkazového řádku, postupujte následovně:
Vložte následující kód do libovolného textového editoru a uložte jej jako textový soubor s názvem Factorial.cs.
//Add a using directive for System if the directive isn't already present. public class Functions { public static long Factorial(int n) { // Test for invalid input if ((n < 0) || (n > 20)) { return -1; } // Calculate the factorial iteratively rather than recursively: long tempResult = 1; for (int i = 1; i <= n; i++) { tempResult *= i; } return tempResult; } } class MainClass { static int Main(string[] args) { // Test if input arguments were supplied: if (args.Length == 0) { System.Console.WriteLine("Please enter a numeric argument."); System.Console.WriteLine("Usage: Factorial <num>"); return 1; } // Try to convert the input arguments to numbers. This will throw // an exception if the argument is not a number. // num = int.Parse(args[0]); int num; bool test = int.TryParse(args[0], out num); if (test == false) { System.Console.WriteLine("Please enter a numeric argument."); System.Console.WriteLine("Usage: Factorial <num>"); return 1; } // Calculate factorial. long result = Functions.Factorial(num); // Print result. if (result == -1) System.Console.WriteLine("Input must be >= 0 and <= 20."); else System.Console.WriteLine("The Factorial of {0} is {1}.", num, result); return 0; } } // If 3 is entered on command line, the // output reads: The factorial of 3 is 6.
Z obrazovky Start nebo nabídky Start otevřete okno Visual Studio Developer Command Prompt a pak přejděte do složky obsahující soubor, který jste právě vytvořili.
Zadejte následující příkaz pro kompilaci aplikace.
csc Factorial.cs
Pokud aplikace neobsahuje žádné chyby během kompilace, je vytvořen spustitelný soubor s názvem Factorial.exe.
Zadejte následující příkaz pro výpočet faktoriálu 3:
Factorial 3
Příkaz vytvoří tento výstup: The factorial of 3 is 6.
[!POZNÁMKA]
Při spuštění aplikace v aplikaci Visual Studio můžete zadat argumenty příkazového řádku v Stránka Ladění, návrhář projektu.
Další příklady o tom, jak používat argumenty příkazového řádku naleznete v tématu Postupy: Vytváření a použití sestavení s pomocí příkazového řádku (C# a Visual Basic).
Viz také
Úkoly
Postupy: Zobrazení argumentů příkazového řádku (Průvodce programováním v C#)
Postupy: Přístup k argumentům příkazového řádku pomocí příkazu foreach (Průvodce programováním v C#)
Referenční dokumentace
Návratové hodnoty Main() (Průvodce programováním v C#)
Třídy (Průvodce programováním v C#)
Koncepty
Argumenty Main() a příkazového řádku (Průvodce programováním v C#)