Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 0 / 1
Регистрация: 06.11.2022
Сообщений: 27

Как правильно сделать TryParse enum списка?

13.11.2022, 18:00. Показов 302. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как правильно сделать bool tryparse enum списка чтоб при введение неправильного варианта выдавало defult
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
namespace ex14;
 
class Program
{
    static void Main(string[] args)
    {
        int satietyLevel = 0;
        Console.WriteLine($"текущий уровень сытости кота {satietyLevel}");
        Console.WriteLine("Hey don't forget to feed your cat \n" +
                       "What will you feed your cat\n" + "Milk\n" + "Water\n" + "Beef\n" + "Chiken\n" +
                       "Kitekat\n");      
        string operation = Console.ReadLine();
        Food eat = (Food)Enum.Parse(typeof(Food), operation);
        Operation(eat); 
    } 
    static void Operation(Food Oper)
    {
        Food kitekat = Food.Kitekat;
        Food water = Food.Water;
        Food milk = Food.Milk;
        Food beef = Food.Beef;
        Food chiken = Food.Chiken;
        switch (Oper)
                {
                    case Food.Kitekat:
                        Console.WriteLine("Cat ate  kitekat, satiety level =  {0} ", (int)kitekat);
                        break;
                    case Food.Water:
                        Console.WriteLine("Cat drank water satiety level = {0}", (int)water);
                        break;
                    case Food.Milk:
                        Console.WriteLine("Cat drank  milk, satiety level = {0}", (int)milk);
                        break;
                    case Food.Beef:
                        Console.WriteLine("Cat ate Beef, satiety level = {0}", (int)beef);
                        break;
                    case Food.Chiken:
                        Console.WriteLine("Cat ate chiken , satiety level = {0}", (int)chiken);
                        break;
                    default:
                        Console.WriteLine("Wrong food");
                    break;
                }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.11.2022, 18:00
Ответы с готовыми решениями:

Получить доступ к TryParse типа Enum через рефлексию
возникла необходимость восстановить значение перечисления System.Windows.Forms.FormWindowState из строки. Метода Parse или TryParse у этого...

Как сделать TryParse на Java
Приветствую. Есть такой код. static int Input() { int temp; while (!in.hasNextInt()) { ...

Как сделать TryParse данных в валюту?
Всем привет. В общем нужно, чтобы текстбокс, куда пользователь вводит данные, допускал (но не требовал) ввод знака валюты, разделители...

3
 Аватар для esperanto_qun
1124 / 656 / 393
Регистрация: 28.01.2021
Сообщений: 1,336
13.11.2022, 19:47
cloudymymind,

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
enum Position { Manager, Programmer, Designer }
    static void Main()
    {
        string input = "NoName";
        Enum.TryParse(typeof(Position), input, out object result);
        switch (result)
        {
            case Position.Manager:
                Console.WriteLine("Manager");
                break;
            case Position.Programmer:
                Console.WriteLine("Programmer");
                break;
            case Position.Designer:
                Console.WriteLine("Designer");
                break;
            default:
                Console.WriteLine("Default");
                break;
        }
    }
0
1 / 0 / 1
Регистрация: 06.11.2022
Сообщений: 27
13.11.2022, 20:04  [ТС]
не могли бы вы сделать как в моем коде это делается делаю как вы описали но все равно не получается
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
13.11.2022, 20:22
Цитата Сообщение от cloudymymind Посмотреть сообщение
чтоб при введение неправильного варианта выдавало defult
defult для enum это ноль.
Если вы явно не задаёте значение для членов перечисления, то по факту это будет первое из задаваемых имён.

C#
13
14
15
16
17
18
19
20
21
        if (Enum.TryParse<Food>(operation, out Food eat))
        {
            // Корректный ввод
           Console.WriteLine($"Cat ate  {eat.ToString().ToLower()}, satiety level =  {(int)eat}.");
        }
        {
            // Некорректный ввод
            Console.WriteLine("God knows what you entered!");
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2022, 20:22
Помогаю со студенческими работами здесь

Как правильно использовать enum?
Хочу использовать enum для указания на номер элемента в массиве (в квадратных скобках), однако компилятору что-то не нравится: enum...

Как правильно работать с enum в классе?
Собственно, нигде не нашел как отправлять и принимать enum внутри методов На данный код ругается компилятор: class TestClass { ...

как правильно определить enum в модулях?
Добавлено через 23 минуты все, разобрался. В main.сpp нужно было include поменять местами :D тему можно закрывать

Как правильно прикрутить enum к Combobox в MVVM
Здравствуйте. Озадачен вопросом как правильно прикрутить Enum к Combobox в MVVM? И как получить выбранное значение? В осваивании mvvm в...

Как правильно написать enum в React Typescript?
У меня есть компонент, в который я из массива объектов передаю пропс deviceType = &quot;smartphone или computer&quot; (циклом через map)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru