У меня проблемы с консольным приложением. Я хочу проверить ввод пользователя и выполнить что-то в зависимости от того, что написал пользователь. Мой код выглядит примерно так:
if(Console.ReadLine() == "ADD")
{
//Add
}
else if (Console.ReadLine() == "LIST")
{
//DisplayList
}
else if (Console.ReadLine() == "SORT")
{
//Sort
}
else
{
//DisplayErrorMsg
}
Теперь, когда я набираю LIST в консоли, я получаю разрыв строки, и мне приходится снова вводить LIST, чтобы получить ожидаемое поведение, а все последующие инструкции else-if просто добавляют еще один разрыв строки. (пример ниже) Я искал везде, где мог, но не вижу, что я сделал не так ... Помогите, пожалуйста!
SORT
SORT
SORT
//Sorting...
4 ответа
Вы вызываете ReadLine
несколько раз и поэтому несколько раз читаете из стандартного ввода. Попробуйте следующее:
var line = Console.ReadLine();
if (line == "ADD")
{
//Add
}
else if (line == "LIST")
{
//DisplayList
}
else if (line == "SORT")
{
//Sort
}
else
{
//DisplayErrorMsg
}
Попытайтесь получить строку в строке и проверьте строку.
string line = Console.ReadLine();
if (line == "ADD")
{
//Add
}
else if (line == "LIST")
{
//DisplayList
}
else if (line == "SORT")
{
//Sort
}
else
{
//DisplayErrorMsg
}
Каждый раз, когда вы вызываете Console.ReadLine()
, он будет ждать ввода данных пользователем.
Присвойте значение, возвращаемое при выполнении Console.ReadLine()
, переменной.
Затем выполните проверку if, else для этой переменной.
var userInput = Console.ReadLine();
if(userInput == "ADD")
{
//Add
}
else if (userInput == "LIST")
{
//DisplayList
}
else if (userInput == "SORT")
{
//Sort
}
else
{
//DisplayErrorMsg
}
string readfromConsole = Console.ReadLine()
if(readfromConsole == "ADD")
{
//Add
}
else if (readfromConsole == "LIST")
{
//DisplayList
}
else if (readfromConsole == "SORT")
{
//Sort
}
else
{
//DisplayErrorMsg
}
Проблема, с которой вы столкнулись, заключается в том, что Console.readLine делает именно то, что он говорит, он читает новую строку. Это изменение сохраняет первое чтение и сравнивает с ним вместо того, чтобы каждый раз читать новую строку. Я надеялся, что это помогло
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.