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

The Main método pode usar argumentos, sendo que, neste caso, leva uma das seguintes formas:

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

Para ativar argumentos de linha de comando no Main método em um aplicativo Windows Forms, você deve modificar manualmente a assinatura do Main em programa.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 aplicativos do Windows.

O parâmetro do Main método é um String matriz que representa os argumentos de linha de comando. Geralmente você determinar se existem argumentos, 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 demonstrativo 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 translation from VPE for Csharp long, os aliases Int64:

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

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

Observação:

Ao executar um aplicativo no Visual Studio, você pode especificar o comando - argumentos de linha a Depurar página, o criador do projeto.

Para obter mais exemplos sobre como usar argumentos de linha de comando, consulte Como: Criar e usar DLLs translation from VPE for Csharp (guia de programação translation from VPE for Csharp).

public class Functions
{
    public static long Factorial(int n)
    {
        // Test for invalid input
        if ((n <= 0) || (n > 256))
        { 
            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 < 256.");
        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 C#)

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

Conceitos

Guia de Programação C#

Main() e argumentos de linha de comando (guia de programação translation from VPE for Csharp)

Referência

Main() retorna valores (Guia de programação C#)

Classes (guia de programação C#) 

System.Environment