Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 控制台应用程序的打印方式不同于联机编译器_C#_Printing_Console_Read Eval Print Loop - Fatal编程技术网

C# 控制台应用程序的打印方式不同于联机编译器

C# 控制台应用程序的打印方式不同于联机编译器,c#,printing,console,read-eval-print-loop,C#,Printing,Console,Read Eval Print Loop,我正在为connect 4编写一个运行良好的程序。 唯一的问题是在VisualStudio中 public static void Display(char[,] board) { Console.Clear(); for (int i = 1; i < 8; i++) { Console.Write(" " + i); } Console.WriteLine();

我正在为connect 4编写一个运行良好的程序。 唯一的问题是在VisualStudio中

    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();
    }
公共静态无效显示(字符[,]板)
{
Console.Clear();
对于(int i=1;i<8;i++)
{
控制台。写入(“+i”);
}
Console.WriteLine();
对于(int j=0;j<15;j++)
{
控制台。写(“”);
}
Console.WriteLine();
对于(int i=0;i<6;i++)
{
对于(int j=0;j<7;j++)
{
控制台。写(“|”+板[i,j]);
}
Console.WriteLine(“|”);
}
对于(int j=0;j<15;j++)
{
控制台。写(“”);
}
Console.WriteLine();
}
打印最后一个for循环太低。这是不够的。 应该是这样的(在repl中工作)

但是像那样打印(在VS中)


我试着用“而不是”,但它只是打印出问号?

为什么不使用好的旧字符

您将获得如下输出:

公共静态无效显示(字符[,]板)
{
Console.Clear();
控制台。写(“”);
对于(int i=1;i<8;i++)
{
控制台。写入(“+i+”);
}
Console.WriteLine();
控制台。写入(“┌");
对于(int j=0;j<6;j++)
{
控制台。写入(“───┬");
}
控制台写入线(“───┐");
对于(int i=0;i<6;i++)
{
对于(int j=0;j<7;j++)
{
控制台。写入(“│“+”+板[i,j]+”);
}
控制台写入线(“│");
控制台。写入(i<5?)├───┼" : "└───┴");
对于(int j=0;j<5;j++)
{
控制台。写入(i<5?)───┼" : "───┴");
}
控制台。写入线(i<5?)───┤" : "───┘");
}
Console.WriteLine();
}

为什么不使用好的旧字符

您将获得如下输出:

公共静态无效显示(字符[,]板)
{
Console.Clear();
控制台。写(“”);
对于(int i=1;i<8;i++)
{
控制台。写入(“+i+”);
}
Console.WriteLine();
控制台。写入(“┌");
对于(int j=0;j<6;j++)
{
控制台。写入(“───┬");
}
控制台写入线(“───┐");
对于(int i=0;i<6;i++)
{
对于(int j=0;j<7;j++)
{
控制台。写入(“│“+”+板[i,j]+”);
}
控制台写入线(“│");
控制台。写入(i<5?)├───┼" : "└───┴");
对于(int j=0;j<5;j++)
{
控制台。写入(i<5?)───┼" : "───┴");
}
控制台。写入线(i<5?)───┤" : "───┘");
}
Console.WriteLine();
}

某些编辑器无法翻译某些字符请注意,这不在Visual Studio中。Visual Studio实际上不会执行您的代码。无论如何,1)''不是标准ASCII字符,所以这可能就是它显示???的原因。请参见。2)它似乎是字体差异,或者由于它是HTML,可能它们在逐行垂直对齐中做了一些不同的操作。某些编辑器中无法翻译某些字符请注意,这不在Visual Studio中。Visual Studio实际上不执行可爱的代码。无论如何,1)“不是标准的ASCII字符,所以这可能就是它显示???的原因。请参见。2)这似乎是字体的不同,或者因为它是HTML,可能它们对逐行垂直对齐做了一些不同的操作。这些不是ASCII字符(这就是为什么您链接的页面标题实际上不包含ASCII一词-与您的链接描述不同)非常感谢您,陛下。您是一位天才。我能了解一下您是如何找到所有这些字符的吗?遇到麻烦时,您从何处查找这些字符?@sepp2k修复了链接description@Algo在大学里教过他们,q基本“遇到问题时在哪里查找?”链接中包含unicode标准的范围:2500–257F。如果这个答案解决了您的问题,您可以勾选复选标记并接受它。这些不是ASCII字符(这就是为什么您链接的页面标题实际上不包含ASCII一词-与您的链接描述不同)非常感谢您,陛下。您是一位天才。我能了解一下您是如何找到所有这些字符的吗?遇到麻烦时,您从何处查找这些字符?@sepp2k修复了链接description@Algo在大学里教过他们,q基本“当遇到问题时,您在哪里查找它们?”在包含unicode标准2500–257F范围的链接中有。如果此答案解决了您的问题,您可以勾选复选标记并接受它。
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();
}