Когда должен условия применения. Выход для завершения консольного приложения?

Если вы не уверены, что делаете, используйте '=='. Если у вас есть немного больше знаний об этом, вы можете использовать «is» для известных объектов, таких как «None».

В противном случае вы будете удивлены, почему все не работает и почему это происходит:

>>> a = 1
>>> b = 1
>>> b is a
True
>>> a = 6000
>>> b = 6000
>>> b is a
False

Я даже не уверен, что некоторые вещи гарантированно останутся неизменными между различными версиями / реализациями python.

33
задан mezoid 28 March 2009 в 16:07
поделиться

4 ответа

Единственная причина вызова Exit() поскольку последняя строка Основного метода - то, если могло бы быть другое приоритетное выполнение потоков. Они остались бы рабочими, если бы выполнение просто упало с конца Main. Даже в этом случае это обычно была бы лучшая идея или вставить некоторое явное корректное завершение в другие потоки - или сделать их фоновыми потоками для запуска с.

Если Вы когда-нибудь хотите возвратить другой код выхода из Main, более простой способ достигнуть, который должен объявить, что это возвращается int.

Короче говоря, я не думаю, что Вам нужно Environment.Exit() здесь, и стоит спросить Ваших коллег точно, почему они используют его - возможности, они не смогут привести Вам серьезную причину, и это - другая пустышка, которую можно отключить.

54
ответ дан 27 November 2019 в 16:34
поделиться

В основном оператор Environment.Exit(0) говорит Операционной системе, что это - "чистый" выход. Существуют другие числа также каждый с различным значением как Environment.Exit(1)

Однако одна вещь отметить состоит в том, что "Основное" было объявлено как возврат, ничто не "освобождает", таким образом, код выхода не будет действительно иметь значения к нему.

На всякий случай Вы хотели знать больше о различных кодах выхода, взглянули здесь

Коды системной ошибки

15
ответ дан 27 November 2019 в 16:34
поделиться

Это [совместимость] для программ командной строки для указания на успешность или неуспешность к базовой оболочке и наследовано от более старых основных циклов C-стиля, где прототип основной функции был

int main(void);

int main(int argc, char *argv[]);

Возвращаемое значение 0 традиционно предназначенных успехов, в то время как ненулевой предназначенный отказ или что-то еще, в зависимости от какой решенный программист.

Ссылка:

Wiki для получения дополнительной информации о main функция.

MSDN documenttion на Environment.Exit()

Среда. Выход (): Завершает этот процесс и дает базовой операционной системе указанный код выхода.

3
ответ дан 27 November 2019 в 16:34
поделиться

В ядре .NET, с прямо сейчас, нужно использовать Environment.Exit для завершения, их программа на Mac, Просто возвращаясь от main не останавливает процесс, и это продолжает бежать, пока пользователь не прерывает его. Шаблоны как:

public class Program
{
    public static void Main(string[] args)
    {
        Environment.Exit(TryRun(args));
    }
}

распространены в моем месте работы, потому что мы хотим поставляться и для Windows и для Mac

0
ответ дан 27 November 2019 в 16:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: