有没有一种方法可以在不立即显示的情况下输入数字

本文关键字:显示 数字 输入 情况下 一种 方法 有没有 | 更新日期: 2023-09-27 18:29:36

我想输入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();

有没有一种方法可以在不立即显示的情况下输入数字

您可以使用

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();
}

您可以使用以下代码:

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));
        }

我不知道如何把它们写在最后一行

你需要在输入时保存它们:

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));