Main () i argumenty wiersza polecenia (C# Przewodnik programowania)Main() and command-line arguments (C# Programming Guide)

Metoda jest punktem wejścia C# aplikacji. MainThe Main method is the entry point of a C# application. (Biblioteki i usługi nie wymagają Main metody jako punktu wejścia.) Gdy aplikacja jest uruchomiona, Main jest to pierwsza metoda wywoływana.(Libraries and services do not require a Main method as an entry point.) When the application is started, the Main method is the first method that is invoked.

W C# programie może istnieć tylko jeden punkt wejścia.There can only be one entry point in a C# program. Jeśli masz więcej niż jedną klasę, która ma Main metodę, musisz skompilować program z opcją kompilatora /Main , aby określić, która Main Metoda ma być używana jako punkt wejścia.If you have more than one class that has a Main method, you must compile your program with the /main compiler option to specify which Main method to use as the entry point. Aby uzyskać więcej informacji, zobacz /MainC# (opcje kompilatora).For more information, see /main (C# Compiler Options).

class TestClass
{
    static void Main(string[] args)
    {
        // Display the number of command line arguments.
        Console.WriteLine(args.Length);
    }
}

OmówienieOverview

  • Main Metoda jest punktem wejścia programu wykonywalnego; jest to miejsce, w którym kontrola programu zaczyna się i skończy.The Main method is the entry point of an executable program; it is where the program control starts and ends.
  • Mainjest zadeklarowany wewnątrz klasy lub struktury.Main is declared inside a class or struct. Mainmusi być statyczna i nie musi być publiczny.Main must be static and it need not be public. (W poprzednim przykładzie otrzymuje on domyślny dostęp do prywatnego). Otaczająca Klasa lub struktura nie musi być statyczna.(In the earlier example, it receives the default access of private.) The enclosing class or struct is not required to be static.
  • Main``voidmoże mieć, int, lub, zaczynając od C# 7,1, Tasklub Task<int> typ zwracany.Main can either have a void, int, or, starting with C# 7.1, Task, or Task<int> return type.
  • Jeśli i tylko wtedy Main , gdy Task zwraca Task<int> Main lub, deklaracja może zawierać async modyfikator.If and only if Main returns a Task or Task<int>, the declaration of Main may include the async modifier. Należy zauważyć, że ta async void Main Metoda nie wyklucza metody.Note that this specifically excludes an async void Main method.
  • Metodę można zadeklarować z parametrem zawierającym argumenty wiersza polecenia lub bez niego string[]. MainThe Main method can be declared with or without a string[] parameter that contains command-line arguments. W przypadku tworzenia aplikacji systemu Windows przy użyciu programu Visual Studio można dodać parametr ręcznie lub użyć Environment klasy w celu uzyskania argumentów wiersza polecenia.When using Visual Studio to create Windows applications, you can add the parameter manually or else use the Environment class to obtain the command-line arguments. Parametry są odczytywane jako argumenty wiersza polecenia indeksowane przez zero.Parameters are read as zero-indexed command-line arguments. W przeciwieństwie do C++języka C i, nazwa programu nie jest traktowana jako pierwszy argument wiersza polecenia.Unlike C and C++, the name of the program is not treated as the first command-line argument.

async Dodawanie i, await Task Maintypy zwracane upraszczają kod programu, gdy aplikacje konsolowe muszą rozpoczynać pracę i asynchroniczne operacje w programie. Task<int>The addition of async and Task, Task<int> return types simplifies program code when console applications need to start and await asynchronous operations in Main.

specyfikacja języka C#C# language specification

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#.For more information, see the C# Language Specification. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.The language specification is the definitive source for C# syntax and usage.

Zobacz takżeSee also