• Что делать с ошибкой cs0161? Почему я не могу поместить return в фигурные скобки?

    @d-stream
    Готовые решения - не подаю, но...
    Поместить return вовнутрь фигурных скобок - можно. Но так же нужно поместить другие return'ы и во всех других местах, где может "закончиться" алгоритм.

    Обобщенно-универсальный вариант - поставить return в самом конце перед последней закрывающей скобкой. Плюс расставить дополнительные там, где по логике получается "досрочный ответ" (в вопросе ).
    Ответ написан
    2 комментария
  • Почему из try catch, switch не видит переменную?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Потому что фигурные скобки в C# ограничивают область видимости переменных.
    Если ты хочешь, чтобы переменная Number1 была видна за пределами блока try - тебе нужно вынести её на уровень выше.

    Примерно вот так:
    double Number1 = 0;
    try {
     // Тут пы инициализируем переменную
    } catch {
      //Как-то обрабатываем возможную ошибку
    }
    // Тут мы можем использовать Number1

    Но раз ты пытаешься обработать ошибку при парсинге чисел, используй тогда вместо double.Parse, функцию double.TryParse - она вместо выкидывания исключений возвращает флаг, было успешно число распознано или нет.
    Ответ написан
    5 комментариев