获取要在控制台的一行上输出的代码

本文关键字:一行 代码 输出 控制台 获取 | 更新日期: 2023-09-27 18:31:47

我在格式化输出时遇到问题。这是我的代码:

int[] Number = new int[15];
// int followup;
int Counter;
Random random = new Random();
for (Counter = 0; Counter < Number.Length; Counter++)
{
    int Rep = 0;
    Rep = random.Next(0, 345);
    Number[Counter] = Rep;
    Console.WriteLine("num:{0}", Rep);
}

它把我的数字放出来,比如

7
4
2
(repeat 15)

但我更喜欢它像这样输出:

6 2 7 4 (11 more)

我怎样才能做到这一点?

获取要在控制台的一行上输出的代码

只需将 Console.WriteLine 更改为 Console.Write("{0} ", Rep);

    int[] Number = new int[15];
    // int followup;
    int Counter;
    Random random = new Random();
    Console.Write("Num: ");
    for (Counter = 0; Counter < Number.Length; Counter++)
    {
        int Rep = 0;
        Rep = random.Next(0, 345);
        Number[Counter] = Rep;
        Console.Write("{0}" + (Counter < Number.Length - 1 ? ", " : ""), Rep);
    }
    Console.WriteLine();

如果你想让它像

有没有更好的方法让它只输出数字(数字)、(数字)、(数字)

那你为什么不这样使用它呢?

Console.Write("{0} ,", Rep);

应该工作正常

在循环中,将Console.WriteLine更改为Console.Write

    Random random = new Random();
    Console.Write("Num: ");
    for (Counter = 0; Counter < Number.Length; Counter++)
    {
        int Rep = random.Next(0, 345);
        Number[Counter] = Rep;
        Console.Write("{0} ", Rep);
    }
    Console.WriteLine();

然后调用循环外的Console.WriteLine()移动到下一行

我会从数组创建一个字符串并在最后输出结果。

int[] Number = new int[15];    
int Counter;
Random random = new Random();
for (Counter=0; Counter<Number.Length; Counter++)
{
    int Rep = 0;
    Rep = random.Next(0, 345);
    Number[Counter] = Rep;
}
Console.WriteLine(String.Join(" ", Number));

现在,您可以创建一个可重用的函数,并将关注点分离,业务逻辑放在一个地方(递增数字),输出在另一个地方。

这将帮助您避免复制和粘贴编程(复制和粘贴

编程是指复制和粘贴代码而不进行任何更改,或者可能进行少量更改)。

int[] GetNumbers()
{
    int[] Number = new int[15];    
    int Counter;
    Random random = new Random();
    for (Counter=0; Counter<Number.Length; Counter++)
    {
        int Rep = 0;
        Rep = random.Next(0, 345);
        Number[Counter] = Rep;
    }
    return Number;
}
void DisplayNumbers()
{
    int[] numbers = GetNumbers();
    Console.WriteLine(String.Join(" ", numbers));
}