首页 > 解决方案 > 控制台中的行没有填满可用空间

问题描述

在我的程序中,我将锯齿状数组中的数据写入控制台(每行 1 个数组),为了提高可读性,我在每个数字后放置了一个制表符,但现在虽然有足够的空间,但在 15 个数字后行会中断。

线条不会延伸到边缘

这是打印它的代码:

static void PrintAbfüllmengen(int[][] Abf30Tage)
{
    for (int j = 0; j < Abf30Tage.Length; j++)
    {
        if (j % 2 == 0)
        {
            Console.ForegroundColor = ConsoleColor.Green;
        }
        else
        {
            Console.ForegroundColor = ConsoleColor.White;
        }
        for (int k = 0; k < Abf30Tage[j].Length; k++)
        {
            Console.Write(Abf30Tage[j][k] + ",\t");
        }
        Console.WriteLine();
    }
}

有什么办法可以解决这个问题?

标签: c#console-application

解决方案


看来您的控制台有 120 个字符宽度。如果我们假设您的数组项的最大值是 9999,逗号和空格是空格,那么您可以在一行中放置 120 / (4 + 2) = 20 个数字。但是您的数组有 24 个项目。您必须在编写之前扩展控制台宽度,并使用 format Console.Write("{0,4}, ", Abf30Tage[j][k])。或者跳过最后一个逗号可能更复杂,比如Console.WriteLine(String.Join(",", Abf30Tage[j].Select(x => x.ToString().PadLeft(5))))而不是整个for循环。

如果您想“漂亮”地查看数据,控制台不是一个好的选择。所以要么不要试图让它漂亮,要么改变Windows环境,要么忍受“我只想在控制台中让它漂亮”的痛苦。


推荐阅读