Sdílet prostřednictvím


Argumenty příkazového řádku (Příručka programování C#)

Main Metodu můžete použít argumenty, v takovém případě provede jednu z následujících formulářů:

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

[!POZNÁMKA]

Argumenty příkazového řádku v povolení Main metoda v model Windows Forms aplikace, musíte ručně upravit podpis Main v program.cs.Vytvoří kód generovaný Návrhář model Windows Forms Main bez vstupní parametr.Můžete také použít Environment.CommandLine nebo Environment.GetCommandLineArgs z jakéhokoli místa v konzole nebo aplikace systému Windows přístup argumenty příkazového řádku.

Parametr Main metoda je String matice, která představuje argumenty příkazového řádku.Obvykle zjistíte, zda existuje testování argumenty Length vlastnosti, například:

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

Řetězcové argumenty lze také převést na číselné typy pomocí Convert třídy nebo Parse metoda.Například následující příkaz převede string se long číslo pomocí Parse metoda:

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

Je také možné použít typ C# long, který aliasy Int64:

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

Můžete také použít Convert metoda třídy ToInt64 provést stejnou věc:

long num = Convert.ToInt64(s);

Další informace naleznete v tématu Parse a Convert.

Příklad

Následující příklad ukazuje použití argumentů příkazového řádku aplikace.Program při spuštění trvá jeden argument Převede argument na celé číslo a vypočítá faktoriál zadaného čísla.Pokud jsou poskytnuty žádné argumenty, program vydá zprávu s vysvětlením správné použití programu.

[!POZNÁMKA]

Při spuštění aplikace Visual Studio, můžete zadat argumenty příkazového řádku v Ladění stránek projektu Designer.

Další příklady je argumenty příkazového řádku naleznete v Jak: vytvoření a použití sestavení pomocí příkazového řádku (C# a 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.

Viz také

Úkoly

Jak: Zobrazení argumentů příkazového řádku (Příručka programování C#)

Jak: použití argumenty příkazového řádku v aplikaci Access foreach (C# program televize)

Referenční dokumentace

Vrácené hodnoty Main() (Příručka programování C#)

Třídy (Příručka programování C#)

System.Environment

Koncepty

Příručka programování C#

Main() a argumenty příkazového řádku (Příručka programování C#)