Почему метод ReadLine () НЕ делает паузу для пользовательского ввода?
Я начал изучать C#, но столкнулся с проблемой. ReadLine()
метод не делает паузу для пользовательского ввода. Я только начал C#, и он работает на программах других людей, поэтому я понятия не имею, почему. Я использую Xamarin на Mac.
Вот пример кода, который не работает:
using System;
namespace LearningC
{
public class LearningSharp
{
public static void Main (String[] args)
{
Console.WriteLine (Console.ReadLine ());
}
}
}
3 ответа
Я нашел решение. Щелкните правой кнопкой мыши по вашему проекту и выберите " Параметры". Затем выберите " Общие" на вкладке " Выполнить " и установите флажок "Приостановить вывод на консоль" (для этого необходимо проверить "Выполнить на внешней консоли".)
Возможно, ваш проект настроен как приложение для Windows. Щелкните правой кнопкой мыши по имени вашего проекта, выберите "Свойства" и измените тип вывода на "Консольное приложение".
У меня та же проблема с проектом С#, который не останавливается с помощью Console.ReadLine().
Вот мой код:
char myChar1;
string userName;
string userLastname;
Console.Write($"Insert a char: ");
myChar1 = (char)Console.Read();
Console.WriteLine($"Press ENTER to continue");
Console.ReadLine();
Console.Clear();
Console.Write($"Insert name: ");
userName = Console.ReadLine();
Console.Write($"Insert lastname: ");
userLastname = Console.ReadLine();
// More stuff here
Я обнаружил, что когда я использую метод Console.Read(), следующий метод Console.ReadLine() вообще не останавливается. Итак, после вставки символа в переменную myChar1 программа идет вперед и останавливается только после вызова метода Console.Write($"Insert name: ");
Обходной путь состоит в том, чтобы поместить два метода Console.ReadLine() перед методом Console.Clear(), но я не могу понять, почему это происходит именно так.