Я, конечно, не в состоянии сказать вам, почему выбрано -1, но в целом это возвращаемое значение будет отправлено вызывающему приложению. Он называется кодом выхода. В настоящее время они обычно не используются в приложениях, поскольку их действительно просто нет, но в тот же день - и, действительно, в этом контексте - они использовались для передачи успеха или неудачи (или чего-то еще) консольное приложение.
Например, я могу написать программу, которая выполняет сетевой вызов, а затем возвращает 0
, если вызов успешный и случайный пример 12
, если не было установлено сетевой адаптер. Таким образом, если какая-то другая программа использовала мой EXE, она могла понять, был ли вызов успешным или нет, без необходимости неуловимо разбирать какой-то выходной поток.
Большинство современных приложений имеют функции static void Main
, так как этот рабочий процесс не подходит в большинстве ситуаций для конечного пользователя. Теперь мы используем GUI, чтобы показать «во время выполнения ошибки». Это не значит, что они не полезны в некоторых случаях, очевидно, по той же причине, что и раньше, но результат обычно не фиксируется, если вы, скажем, запустите программу, дважды щелкнув значок, и, таким образом, в большинстве случаев его отбрасывают.
Потому что вы можете проверить возвращаемое значение, если вы запустите эту программу с помощью другого приложения (пакет, powershell, ...) – Dinistro
Хороший вопрос (не в вопросе SO-good-question, но в том, *** - знает смысл). Обычно ненулевое возвращаемое значение означает, что любая команда не удалась, поэтому, возможно, автор просто играл. Или они знают, что-то значит. Или это их любимый номер. Или, компилятор выдавал ошибку, и это их способ заставить ее «заткнуться и скомпилировать». –
В этом примере это ничего не значит. Но обычно он говорит, успешно ли завершился процесс или какая-то ошибка. Это код выхода процесса. '0' означает успех, а не ноль указывает на ошибку. –