Как мне получить доступ к inputFileLines вне оператора try, если это работает?
Ваша текущая область находится в блоке try
(область видимости блока) и доступна только в нем ...
try
{
List<string> inputFileLines = GetInputFileFormatted(mailFile);
}
catch (FileNotFoundException ex)
{
Console.WriteLine("File not found");
}
Если вы хотите получить доступ к нему за пределами try
, вам необходимо переместить область действия этого параметра за пределы (область действия метода), как уже упоминалось.
List<string> inputFileLines = null;
try
{
inputFileLines = GetInputFileFormatted(mailFile);
}
catch (FileNotFoundException ex)
{
Console.WriteLine("File not found");
}
Редактировать за комментарий (из вопроса, который я вам задал)
Что вы планируете делать с inputFileLines, если он нулевой?
Ваш ответ был:
вот и все, я хочу, чтобы программа просто остановилась, если она нулевая? Но как
я делаю это
Причина, по которой я спросил это, заключается в том, что вам не нужно объявлять об этом снаружи, если вы хотите выйти из приложения. Найдите метод Application.Exit , который сообщает всем обработчикам сообщений, что они должны завершиться, а затем закрывает все окна приложений после обработки сообщений.
try
{
List<string> inputFileLines = GetInputFileFormatted(mailFile);
if(inputFileLines == null)
System.Windows.Forms.Application.Exit();
}
catch (FileNotFoundException ex)
{
Console.WriteLine("File not found");
System.Windows.Forms.Application.Exit();
}
Теперь, если этот список пуст или выброшено исключение, он выйдет из приложения.
ИМХО проверьте область видимости переменных , чтобы лучше понять, как они доступны.
Ссылки:
Приложение. Метод выхода https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.application.exit?view=netframework-4.8