Partilhar via


Argumentos de linha de comando (Guia de Programação em C#)

É possível enviar argumentos para o método Main definindo o método em uma das seguintes maneiras:

static int Main(string[] args)
static void Main(string[] args)

Dica

Para habilitar argumentos de linha de comando no método Main 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 Main sem um parâmetro de entrada.Você também pode usar Environment.CommandLine ou Environment.GetCommandLineArgs para acessar argumentos de linha de comando de um ponto qualquer em um console ou em um aplicativo do Windows.

O parâmetro do método Main é uma matriz String que representa os argumentos de linha de comando. Normalmente, você determina se os argumentos existem testando a propriedade de Length, por exemplo:

if (args.Length == 0)
{
    System.Console.WriteLine("Please enter a numeric argument.");
    return 1;
}

Você também pode converter os argumentos de cadeia de caracteres para tipos numéricos usando a classe Convert ou o método Parse. Por exemplo, a seguinte declaração converte string em um número long usando o método Parse:

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

Também é possível usar o tipo C# long, do qual os aliases Int64:

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

Você também pode usar o método ToInt64 de classe Convert 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 argumentos de linha de comando em um aplicativo de console. O aplicativo usa um argumento em tempo de execução, converte o argumento em um inteiro e calcula o fatorial do número. Se nenhum argumento é fornecido, o aplicativo envia uma mensagem que explica o uso correto do programa.

Para compilar e executar o aplicativo de um prompt de comando, siga estas etapas:

  1. Cole o código a seguir em qualquer editor de texto e salve o arquivo como um arquivo de texto com o nome Factorial.cs.

    //Add a using directive for System if the directive isn't already present. 
    
    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.
    
  2. Na tela Iniciar ou no menu Iniciar, abra uma janela Prompt de Comando do Desenvolvedor do Visual Studio e navegue até a pasta que contém o arquivo que você acabou de criar.

  3. Insira o seguinte comando para compilar o aplicativo.

    csc Factorial.cs

    Se seu aplicativo não tem nenhum erro de compilação, um arquivo executável chamado Factorial.exe é criado.

  4. Insira o seguinte comando para calcular o fatorial de 3:

    Factorial 3

  5. O comando gera esta saída: The factorial of 3 is 6.

Dica

Ao executar um aplicativo no Visual Studio, você pode especificar argumentos de linha de comando em Página de Depuração, Designer de Projeto.

Para obter mais exemplos sobre como usar argumentos de linha de comando, consulte Como criar e usar assemblies usando a linha de comando (C# e Visual Basic).

Consulte também

Tarefas

Como exibir argumentos de linha de comando (Guia de Programação em C#)

Como acessar argumentos de linha de comando usando foreach (Guia de Programação em C#)

Referência

Valores de retorno de Main() (Guia de Programação em C#)

Classes (Guia de Programação em C#)

Environment

Conceitos

Guia de Programação em C#

Main() e argumentos de linha de comando (Guia de Programação em C#)