Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Поскольку возвращаемое значение передается системе в момент завершения работы приложения, вполне очевидно, что получить и отобразить финальный код ошибки во время выполнения приложения невозможно. Однако мы покажем, как просмотреть код ошибки по завершении программы, изменив операторы верхнего уровня следующим образом:
// Обратите внимание, что теперь возвращается int, а не void.// Вывести сообщение и ожидать нажатия клавиши <Enter>.Console.WriteLine("***** My First C# App *****");Console.WriteLine("Hello World!");Console.WriteLine();Console.ReadLine();<b>// Возвратить произвольный код ошибки.</b><b>return -1;</b>Если программа в качестве точки входа по-прежнему использует метод
Main()intvoidstatic <b>int</b> Main(){ …}Теперь давайте захватим возвращаемое значение программы с помощью пакетного файла. Используя проводник Windows, перейдите в папку, где находится файл решения (например,
С:SimpleCSharpAppSimpleCSharpApp.cmd*.cmd@echo offrem Пакетный файл для приложения SimpleCSharpApp.exe,rem в котором захватывается возвращаемое им значение.dotnet run@if "%ERRORLEVEL%" == "0" goto success:fail echo This application has failed! echo return value = %ERRORLEVEL% goto end:success echo This application has succeeded! echo return value = %ERRORLEVEL% goto end:endecho All Done.Откройте окно командной подсказки (или терминал VSC) и перейдите в папку, содержащую новый файл
*.cmdMain()-10This application has succeeded!***** My First C# App *****Hello World!This application has failed!return value = -1All Done.Ниже приведен сценарий
PowerShell*.cmddotnet runif ($LastExitCode -eq 0) { Write-Host "This application has succeeded!"} else{ Write-Host "This application has failed!"}Write-Host "All Done."Введите
PowerShell.SimpleCSharpApp.pslВот что вы увидите в терминальном окне:
***** My First C# App *****Hello World!This application has failed!All Done.В подавляющем большинстве приложений C# (если только не во всех) в качестве возвращаемого значения будет применяться
voidMain()voidОбработка аргументов командной строки
Теперь, когда вы лучше понимаете, что собой представляет возвращаемое значение метода
Main()for// Вывести сообщение и ожидать нажатия клавиши <Enter>.Console.WriteLine("***** My First C# App *****"); Console.WriteLine("Hello World!"); Console.WriteLine(); <b>// Обработать любые входные аргументы. </b><b>for (int i = 0; i < args.Length; i++) </b><b>{ </b><b> Console.WriteLine("Arg: {0}", args[i]); </b><b>} </b>Console.ReadLine();