Compartilhar via


Argumentos de linha de comando (guia de programação do C#)

O Main método pode usar argumentos, caso em que ele executará uma das seguintes formas:

static int Main(string[] args)
static void Main(string[] args)
ObservaçãoObservação

Para permitir que os argumentos de linha de comando na Main método em um aplicativo Windows Forms, você deve modificar manualmente a assinatura de Main em 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 de qualquer point-in de um console ou de um aplicativo do Windows.

O parâmetro da Main método é um String matriz que representa os argumentos de linha de comando.Geralmente você determina se os argumentos existem testando o Length 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 em 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 C# long, os aliases Int64:

long num = long.Parse(args[0]);

Você também pode usar o Convert método da 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 na Depurar página Project Designer.

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

Como: exibir argumentos de linha de comando (guia de programação do C#)

Como: argumentos de linha de comando de acesso usando foreach (guia de programação C#)

Referência

Valores de retorno de Main () (guia de programação do C#)

Classes (guia de programação do C#)

System.Environment

Conceitos

Guia de programação do C#

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