Что такое "string[] args"в основном классе?

В C# основной класс имеет параметр string[] args.

для чего это и где он используется?

8 ответов


С руководство по программированию на C# в MSDN:

параметром метода Main является строковый массив, представляющий аргументы командной строки

Итак, если бы у меня была программа (MyApp.exe) вот так:

class Program
{
  static void Main(string[] args)
  {
    foreach (var arg in args)
    {
      Console.WriteLine(arg);
    }
  }
}

что я начал с командной строки следующим образом:

MyApp.exe Arg1 Arg2 Arg3

метод Main будет передан массиву, содержащему три строки: "Arg1", "Arg2", "Arg3".

Если вам нужно сдать аргумент, содержащий пробел, затем оберните его в кавычки. Например:

MyApp.exe "Arg 1" "Arg 2" "Arg 3"

аргументы командной строки обычно используются, когда вам нужно передать информацию в приложение во время выполнения. Например, если вы пишете программу, которая копирует файл из одного места в другое, вы, вероятно, передадите два места в качестве аргументов командной строки. Например:

Copy.exe C:\file1.txt C:\file2.txt

далее к ответу всех остальных, вы должны отметить, что параметры являются необязательными в C#, если ваше приложение не использует аргументы командной строки.

этот код является вполне допустимым:

internal static Program
{
    private static void Main()
    {
        // Get on with it, without any arguments...
    }
}

для передачи параметров командной строки. Например args[0] даст вам первый параметр командной строки, если он есть.


кроме других ответов. Вы должны заметить, что эти args могут дать вам путь к файлу, который был перетащен на . Я. e если вы перетащите любой файл на свой .exe файл, то приложение будет запущено и arg[0] будет содержать путь к файлу, который был сброшен на него.

class Program
{
   static void Main(string[] args)
   {
       Console.WriteLine(args[0]);
    }
}

это напечатает путь к файлу, упавшему на . е.г

C:\Users\abc\Documents\Visual Студия\проекты\MyTestApp\MyTestApp\bin\MyTestApp.exe


это массив переключателей командной строки, передаваемых программе. Е. Г. если вы запустите программу с помощью команды "myapp.exe -c -d" после string[] args[] будет содержать строки "- c"и" - d".


параметр args хранит все аргументы командной строки, заданные пользователем при запуске программы.

Если вы запускаете свою программу с консоли следующим образом:


вы должны были видеть какое-то приложение, которое запускается из командной строки и позволяет передавать им аргументы. Если вы пишете одно такое приложение на C#, массив args служит коллекцией указанных аргументов.

вот как вы их обрабатываете:

static void Main(string[] args) {
    foreach (string arg in args) {
       //Do something with each argument
    }
}

Это если вы собираетесь запустить приложение из командной строки. Эти параметры будут доступны в массиве args. Перейти к http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx для получения более подробной информации.