【问题标题】:Console application prints differently than online compiler控制台应用程序的打印方式与在线编译器不同
【发布时间】:2020-07-25 14:17:57
【问题描述】:

我正在为连接 4 编写一个运行良好的程序。 唯一的问题是在 Visual Studio 中的方法

    public static void Display(char[,] board)
    {
        Console.Clear();
        for (int i = 1; i < 8; i++)
        {
            Console.Write(" " + i);
        }
        Console.WriteLine();
        for (int j = 0; j < 15; j++)
        {
            Console.Write("_");
        }
        Console.WriteLine();
        for (int i = 0; i < 6; i++)
        {
            for (int j = 0; j < 7; j++)
            {
                Console.Write("|" + board[i, j]);
            }
            Console.WriteLine('|');
        }
        for (int j = 0; j < 15; j++)
        {
            Console.Write("¯");
        }
        Console.WriteLine();
    }

将最后一个 for 循环打印得太低。这是不充分的。 应该是这样(在repl中工作)

但会像这样打印(在 VS 中)

我尝试使用¯ 代替 ‾ 但它只是打印出问号??????????

【问题讨论】:

  • 某些字符在某些编辑器中无法翻译
  • 请注意,这不在 Visual Studio 中。 Visual Studio 实际上并不执行您的代码。无论如何,1) ¯ 不是标准的 ASCII 字符,所以这可能就是它显示 ???? 的原因。见this question。 2)这似乎是字体差异,或者因为它是HTML,也许他们在逐行垂直对齐方面做了一些不同的事情。

标签: c# printing console read-eval-print-loop


【解决方案1】:

为什么不使用旧的 Box Drawing 字符?

你会得到这样的输出:

public static void Display(char[,] board)
{
    Console.Clear();

    Console.Write(" ");
    for (int i = 1; i < 8; i++)
    {
        Console.Write(" " + i + "  ");
    }
    Console.WriteLine();

    Console.Write("┌");
    for (int j = 0; j < 6; j++)
    {
        Console.Write("───┬");
    }
    Console.WriteLine("───┐");

    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 7; j++)
        {
            Console.Write("│" + " " + board[i, j] + " ");
        }
        Console.WriteLine("│");

        Console.Write(i < 5 ? "├───┼" : "└───┴");
        for (int j = 0; j < 5; j++)
        {
            Console.Write(i < 5 ? "───┼" : "───┴");
        }
        Console.WriteLine(i < 5 ? "───┤" : "───┘");
    }

    Console.WriteLine();
}

【讨论】:

  • 那些不是 ASCII 字符(这就是为什么您链接的页面的标题实际上并不包含 ASCII 一词 - 与您的链接描述不同)
  • 非常感谢陛下。你是个天才。我可以了解一下您是如何找到所有这些角色的吗?遇到麻烦时你在哪里找他们?
  • @sepp2k 修复了链接描述
  • @Algo 在大学里教过他们,q 基础
  • "遇到麻烦时你会去哪里找他们?"链接中有this pdf document,其中包含来自unicode标准的范围:2500-257F。如果这个答案解决了你的问题,你可以打勾并接受它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-30
  • 1970-01-01
相关资源
最近更新 更多