Есть ли способ ввести номер, не показывая их сразу?

1

Я хочу ввести 10 чисел, а затем показать их в 1 строке следующим образом: 1,4,5,2,456,23,... и так далее..

и он продолжает писать их, когда я их вхожу, и в конце, когда он должен показывать все числа в одной строке, он показывает только последний.

Я знаю, что это возможно со случайными числами, но когда я ввожу их самостоятельно, я не знаю, как не показывать их вообще или держать их в одной строке, и если это возможно?

int a;
int x;
Console.WriteLine("a:");
a = int.Parse(Console.ReadLine());
x = 10;
for (int i = 0; i < x; i++)
{
    a = int.Parse(Console.ReadLine());
}
Console.ReadKey();
  • 1
    Можете ли вы показать код, с которым работаете?
  • 0
    Вы можете перенаправить ввод при запуске из командной строки: myApp.exe < inputFile ...
Показать ещё 1 комментарий
Теги:
console-application

3 ответа

1
Лучший ответ

Я не знаю, как написать их в конце всего в 1 строке?

Ну, вам нужно сохранить их по мере их ввода:

int num;
var nums = new List<int>();

while (nums.Count < 10)
{
    Console.Write("Enter: ");
    if (int.TryParse(Console.ReadLine(), out num))
    {
        nums.Add(num);
        Console.Clear();
    }
}

Console.WriteLine(string.Join(", ", nums));
  • 0
    Я не знаю почему, но он продолжает показывать мне ошибку в строке if .. всю строку я написал сам, потом скопировал, понятия не имею почему: /
5

вы можете использовать

Console.ReadKey(true)

он читает ключ с консоли и не показывает его.

вы можете использовать это, чтобы читать слово с консоли, не показывая его

public static string ReadHiddenFromConsole()
{
    var word = new StringBuilder();
    while (true)
    {
        var i = Console.ReadKey(true);
        if (i.Key == ConsoleKey.Enter)
        {
            Console.WriteLine();
            break;
        }
        if (i.Key == ConsoleKey.Backspace)
        {
            if (word.Length > 0)
            {
                word.Remove(word.Length - 1, 1);
                Console.Write("\b \b");
            }
        }
        else
        {
            word.Append(i.KeyChar);
            Console.Write("*");
        }
    }
    return word.ToString();
}
  • 1
    +1 отвечает на вопрос как задано. Обратите внимание, что при использовании вам нужно будет создавать строки из символов и обрабатывать новые строки перед анализом.
2

Вы можете использовать этот код:

static void Main(string[] args)
        {
            int length = 10;
            int[] myNumbers = new int[length];

            for (int i = 0; i < length; i++)
            {
                Console.Write("Enter number:" );
                myNumbers[i] = Convert.ToInt32(Console.ReadLine());
                Console.Clear();
            }

            Console.WriteLine("Your numbers: {0}", string.Join(",", myNumbers));
        }
  • 0
    эй :) что конкретно делает Convert.ToInt32?
  • 0
    Команда "Console.ReadLine ()" знает, как получить строку от пользователя. Convert.ToInt32 берет эту строку и преобразует ее в число ... это похоже на int.Parse в основном ... Этот код вызовет ошибку, если пользователь введет не число ...
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню