Argumenty wiersza polecenia (Podręcznik programowania C#)
Main Metody można używać argumentów, w którym to przypadku przyjmuje jedną z następujących form:
static int Main(string[] args)
static void Main(string[] args)
[!UWAGA]
Aby włączyć argumentów wiersza polecenia w Main metody w aplikacji Windows Forms należy ręcznie zmodyfikować podpis Main w plik program.cs.Tworzy kod generowany przez projektanta Windows Forms Main bez parametru wejściowego.Można również użyć Environment.CommandLine lub Environment.GetCommandLineArgs dostęp do argumentów wiersza polecenia z dowolnego punktu w konsoli lub aplikacji systemu Windows.
Parametr Main jest metoda String tablicy, która reprezentuje argumentów wiersza polecenia.Zazwyczaj można stwierdzić, czy argumenty przez badania Length właściwość, na przykład:
if (args.Length == 0)
{
System.Console.WriteLine("Please enter a numeric argument.");
return 1;
}
Można także konwertować argumentów typu string na typy liczbowe, za pomocą Convert klasy lub Parse metody.Na przykład, następująca instrukcja konwertuje string do long numer za pomocą Parse metody:
long num = Int64.Parse(args[0]);
Istnieje również możliwość użycia typu C# long, które aliasy Int64:
long num = long.Parse(args[0]);
Można również użyć Convert klasy metoda ToInt64 , aby zrobić to samo:
long num = Convert.ToInt64(s);
Aby uzyskać więcej informacji, zobacz Parse i Convert.
Przykład
Poniższy przykład pokazuje, jak używać argumentów wiersza polecenia w aplikacji konsoli.Program ma jeden argument w czasie wykonywania, konwertuje argument na liczbę całkowitą i oblicza wartooć silni liczby.Jeśli argumenty nie są dostarczane, program wystawia komunikat wyjaśniający poprawne użycie programu.
[!UWAGA]
Podczas działania aplikacji w programie Visual Studio, można określić argumenty wiersza polecenia w Debugowanie strony, Projektant projektu.
Aby uzyskać więcej przykładów na temat argumentów wiersza polecenia, zobacz Jak: tworzenie i używanie zestawów przy użyciu wiersza polecenia (C# i 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.
Zobacz też
Zadania
Jak: wyświetlanie argumenty wiersza polecenia (Podręcznik programowania C#)
Jak: foreach używając argumentów wiersza polecenia programu Access (C# Programming Guide)
Informacje
Wartości zwracane main() (Podręcznik programowania C#)
Klasy (Podręcznik programowania C#)
Koncepcje
Main() i argumenty wiersza polecenia (Podręcznik programowania C#)