Имя pet не существует в текущем контексте
Когда я запускаю этот код, все, что я получаю, это
the name pet does not exists in the current context
и я следую этому учебнику с[^] шаг за шагом не уверен, что происходит .
using System; class Program { enum PetType { None, Cat = 1, Dog = 2 } static void Main() { // A. // Possible user input: string value = "Dogfff"; // B. // Try to convert the string to an enum: try { PetType pet = (PetType)Enum.Parse(typeof(PetType), value); } catch (Exception ex) { Console.WriteLine(ex.Message); pet = PetType.None; } // C. // See if the conversion succeeded: if (pet == PetType.Dog) { Console.WriteLine("Equals dog."); } } }
Что я уже пробовал:
************************************************
*
*
*******************************************************************************************************************
NotPolitcallyCorrect
Вам нужно прочитать базовую книгу по программированию на переменную область. Вы объявили "домашнее животное" в области блока try и пытаетесь использовать его вне блока try. питомец находится вне поля зрения.
User 59241
"и я следую этому учебнику шаг за шагом, не зная, что происходит ."
Нет, это не так. Вы изменили код и удивляетесь, что он не работает. Вы даже знаете, что вы изменили, и сообщение об ошибке подтверждает это. Придерживайтесь учебника, пока не поймете, что делаете.
The Praveen Singh
Объявить pettype вне блока try
Suvendu Shekhar Giri
Это потому что вы пытаетесь получить доступ pet
вне его сферы действия. Вы заявили об этом внутри try
блок и попытка получить доступ к нему снаружи. Что вы можете сделать, так это объявить его вне try
блокируйте его так, чтобы он был доступен глобально в рамках остальной части вашей программы. Что-то вроде следующего должно помочь-
PetType pet; try { pet = (PetType)Enum.Parse(typeof(PetType), value); } catch (Exception ex) { Console.WriteLine(ex.Message); pet = PetType.None; } // C. // See if the conversion succeeded: if (pet == PetType.Dog) { Console.WriteLine("Equals dog."); }
Надеюсь, это поможет :)
forte74
этот ответ в любом случае не очень помогает... если бы вы могли быть немного более ясными это помогло бы
forte74
как бы я мог объявить домашнее животное вне блока try... и что я должен поместить в блок try тогда
Suvendu Shekhar Giri
Попробуйте пример, которым я поделился
User 59241
Код, который вы показываете в своем вопросе, не является кодом в примере, приведенном в вашей ссылке. Код в ссылке работает, а введенные вами различия-нет. Я не уверен, насколько яснее это можно выразить.