• Предмет: Информатика
  • Автор: artemvinogradov1308
  • Вопрос задан 4 месяца назад

C# Игнорирует x = Console.Read();
Так происходит абсолютно каждый раз

Приложения:

Ответы

Ответ дал: wherethefux
1

Для чтения входных данных во время отладки вы можете использовать свойство console в ваших конфигурациях в файле launch.json

{

   "version": "0.2.0",

   "configurations": [

       {

           "name": ".NET Core Launch (console)",

           "type": "coreclr",

           "request": "launch",

           "program": "${workspaceFolder}/bin/Debug/net5.0/your-project-name.dll",

           "args": [],

           "cwd": "${workspaceFolder}",

           "stopAtEntry": false,

           "console": "integratedTerminal".

       }

   ]

}

Вы можете использовать либо "externalTerminal", либо "integratedTerminal". "internalConsole" не будет работать.

Я использую настройку integratedTerminal, так как терминал находится внутри самого VSCode. Теперь вы сможете читать вводимые данные с помощью Console.ReadLine();

Как показано на скриншоте ниже, vsc не может читать инпут от пользователя при тех настройках, что стоят по умолчанию (по крайней мере у меня стояли такие)

Приложения:

wherethefux: Также если Вам интересно, небольшие замечания по коду:
1. Вы можете объединить объявление и присвоение локальных переменных (это 6ая и 7ая строчки у Вас). Получится: "int x = Console.Read();"
2. Вторые скобочки в условии не нужны, + к этому оператор 'if' может быть переписан как выражение '?:' вида: "Console.WriteLine(x % 2 == 0 ? "Yes, chet" : "No, nechet");"
Вас заинтересует