Command-Line Arguments (C# Programming Guide)
O Main método pode usar argumentos, caso em que ele leva uma das seguintes formas:
static int Main(string[] args)
static void Main(string[] args)
Observação |
---|
Para habilitar os argumentos de linha de comando na Main método em um aplicativo Windows Forms, você deve modificar manualmente a assinatura de Main no Program. cs. O código gerado pelo designer do Windows Forms cria um Main sem um parâmetro de entrada. Você também pode usar Environment.CommandLine ou Environment.GetCommandLineArgs para acessar os argumentos de linha de comando a partir de qualquer point-in console ou aplicativo do Windows. |
O parâmetro da Main método é um String array que representa os argumentos de linha de comando. Geralmente, você determinar se os argumentos existem testando o Length a propriedade, por exemplo:
if (args.Length == 0)
{
System.Console.WriteLine("Please enter a numeric argument.");
return 1;
}
Você também pode converter os argumentos de seqüência de caracteres para tipos numéricos usando o Convert classe ou o Parse método. Por exemplo, a instrução a seguir converte o string para um long número usando o Parse método:
long num = Int64.Parse(args[0]);
Também é possível usar o tipo de C# long, os aliases Int64:
long num = long.Parse(args[0]);
Você também pode usar o Convert o método de classe ToInt64 para fazer a mesma coisa:
long num = Convert.ToInt64(s);
Para obter mais informações, consulte Parse e Convert.
Exemplo
O exemplo a seguir mostra como usar os argumentos de linha de comando em um aplicativo de console. O programa tem um argumento em tempo de execução, converte o argumento para um inteiro e calcula o fatorial do número. Se nenhum argumento for fornecido, o programa emite uma mensagem que explica o uso correto do programa.
Observação |
---|
Ao executar um aplicativo em Visual Studio, você pode especificar argumentos de linha de comando do Depurar página, o criador do projeto. |
Para obter mais exemplos sobre como usar os argumentos de linha de comando, consulte Como: Criar e usar Assemblies usando a linha de comando (C# e 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.
Consulte também
Tarefas
How to: Display Command Line Arguments (C# Programming Guide)
How to: Access Command-Line Arguments Using foreach (C# Programming Guide)
Referência
Main() Return Values (C# Programming Guide)
Classes (C# Programming Guide)
Conceitos
Main () e os argumentos de linha de comando-(C# guia de programação)