Argumenty příkazového řádku (Příručka programování C#)
Main Metodu můžete použít argumenty, v takovém případě provede jednu z následujících formulářů:
static int Main(string[] args)
static void Main(string[] args)
[!POZNÁMKA]
Argumenty příkazového řádku v povolení Main metoda v model Windows Forms aplikace, musíte ručně upravit podpis Main v program.cs.Vytvoří kód generovaný Návrhář model Windows Forms Main bez vstupní parametr.Můžete také použít Environment.CommandLine nebo Environment.GetCommandLineArgs z jakéhokoli místa v konzole nebo aplikace systému Windows přístup argumenty příkazového řádku.
Parametr Main metoda je String matice, která představuje argumenty příkazového řádku.Obvykle zjistíte, zda existuje testování argumenty Length vlastnosti, například:
if (args.Length == 0)
{
System.Console.WriteLine("Please enter a numeric argument.");
return 1;
}
Řetězcové argumenty lze také převést na číselné typy pomocí Convert třídy nebo Parse metoda.Například následující příkaz převede string se long číslo pomocí Parse metoda:
long num = Int64.Parse(args[0]);
Je také možné použít typ C# long, který aliasy Int64:
long num = long.Parse(args[0]);
Můžete také použít Convert metoda třídy ToInt64 provést stejnou věc:
long num = Convert.ToInt64(s);
Další informace naleznete v tématu Parse a Convert.
Příklad
Následující příklad ukazuje použití argumentů příkazového řádku aplikace.Program při spuštění trvá jeden argument Převede argument na celé číslo a vypočítá faktoriál zadaného čísla.Pokud jsou poskytnuty žádné argumenty, program vydá zprávu s vysvětlením správné použití programu.
[!POZNÁMKA]
Při spuštění aplikace Visual Studio, můžete zadat argumenty příkazového řádku v Ladění stránek projektu Designer.
Další příklady je argumenty příkazového řádku naleznete v Jak: vytvoření a použití sestavení pomocí příkazového řádku (C# a Visual Basic).
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.
Viz také
Úkoly
Jak: Zobrazení argumentů příkazového řádku (Příručka programování C#)
Jak: použití argumenty příkazového řádku v aplikaci Access foreach (C# program televize)
Referenční dokumentace
Vrácené hodnoty Main() (Příručka programování C#)
Třídy (Příručka programování C#)
Koncepty
Main() a argumenty příkazového řádku (Příručka programování C#)