Мне нужна эта программа, чтобы попросить пользователя ввести число для добавления в массив. После ввода номера консоль переходит на новую строку, пока вы не нажмете другую клавишу, после чего она снова будет делать то же самое. Я новичок в C# и предполагаю, что это как-то связано с тем, что он читает клавишу ввода после того, как пользователь вводит информацию, поэтому мне нужно использовать что-то эквивалентное cin.ignore (), но я не Не удалось найти ничего, что решило бы проблему.
public void InputSet()
{
int userInput;
do
{
C.Write("Enter an element (Enter to end): ");
userInput = Convert.ToInt32(C.ReadLine()); // Read user input
if (userInput < 1 || userInput > 50) // Check if in bounds
C.WriteLine("Input is invalid. Enter from 1 to 50."); // Error message if out of bounds
else
{
Array.Resize(ref arr, arr.Length + 1); // Expand array and then add it in
arr[arr.Length - 1] = userInput;
}
} while(Console.ReadKey (true).Key != ConsoleKey.Enter); // If enter key is pressed, exit loop
Вот видео проблемы: Зависание на новой строке