Аргументы запуска в C#: что это и как их применять
Входные параметры полезны не только в консольных приложениях, но даже в играх. Что это и как они нам пригодятся?
vlada_maestro / shutterstock
Создавая приложение на C#, вы могли заметить, что у метода Main () должен быть аргумент:
Вернее, целый массив аргументов. Он нужен, чтобы влиять на работу программы: например, запускать ваше приложение из другого приложения, передавая ему любую команду.
Давайте разберёмся, как передавать и использовать аргументы при запуске приложения на C#.
Как передавать входные аргументы в C#
Так как это обычный массив строк, мы можем перебрать его, чтобы получить все аргументы:
Скомпилируйте приложение, а затем запустите его через терминал, указав аргументы после названия файла.
Важно! Аргументы разделяются пробелом, и, если вы хотите передать какой-то текст, его нужно заключить в двойные кавычки:
Как мы видим, каждый аргумент был выведен на новой строке.
Вы можете создать ярлык, который будет запускать приложение c определёнными аргументами. Для этого зайдите в свойства ярлыка и укажите все аргументы в поле Target:
Сработает это так же, как если бы вы передали аргумент через консоль:
Как использовать входные аргументы в C#
Мы можем проверять, какие аргументы передал пользователь, чтобы потом реагировать на это. Например, показать справку:
Вот как она выглядит:
Здесь перед аргументами стоят дефисы — такие аргументы называются флагами и помогают программе понять, что от неё хотят. В нашем случае в справке написано, что вы можете ввести команду:
./Sharp -i file
Программа поймёт, что это путь к файлу. Остаётся только прописать всю логику. Для этого придётся заменить цикл foreach на for, потому что нам важно иметь доступ к индексам аргументов:
Если вы укажете флаг -i, то эта программа должна считать и вывести данные из файла:
Если после этого вы добавите ещё и флаг -o, то программа сохранит данные в новый файл:
Где это может пригодиться
Способов применения входных аргументов может быть очень много. Тот же компилятор.NET работает с помощью них. Вот только некоторые:
Например, чтобы создать консольное приложение, нужно ввести команду dotnet new console. А если потом его надо скомпилировать и запустить — dotnet run.
Еще одна область применения — игры. Вы можете указывать аргументы напрямую для ярлыка игры или же через настройки запуска в Steam. Например, желаемое разрешение:
Вы можете добавить любые опции:
- включение режима Разработчика с расширенными возможностями;
- включение режима пониженной нагрузки;
- запуск в полноэкранном режиме и так далее.