Share via


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çãoObservaçã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çãoObservaçã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)

System.Environment

Conceitos

C# Programming Guide

Main () e os argumentos de linha de comando-(C# guia de programação)