Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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# 如何使用Console.SetCursorPosition c绘制对角线?_C#_Loops_For Loop_Cursor Position - Fatal编程技术网

C# 如何使用Console.SetCursorPosition c绘制对角线?

C# 如何使用Console.SetCursorPosition c绘制对角线?,c#,loops,for-loop,cursor-position,C#,Loops,For Loop,Cursor Position,我需要做一个函数,它接收到3个元素:行开始的水平和垂直位置,以及它的长度,并绘制向左下降的对角线。我不明白我怎么能画对角线。我已经做了一个水平线的循环,但我不知道我需要改变什么来画一条对角线 对于水平线,我已经完成了: static void LigneHorizontale(int posh, int pov, int longueur) { for (int i = 0; i < longueur; i++) {

我需要做一个函数,它接收到3个元素:行开始的水平和垂直位置,以及它的长度,并绘制向左下降的对角线。我不明白我怎么能画对角线。我已经做了一个水平线的循环,但我不知道我需要改变什么来画一条对角线

对于水平线,我已经完成了:

    static void LigneHorizontale(int posh, int pov, int longueur)
    {

            for (int i = 0; i < longueur; i++)
            {
                Console.SetCursorPosition(posh+i, pov);
                Console.WriteLine("-");
            }
    }

您需要增加X:

    public static void LineHorizontale(int x, int y, int length)
    {
        for (var i = 0; i < length; i++)
        {
            Console.SetCursorPosition(x + i, y);
            Console.Write("-");
        }
    }
对角线:

public static void LineDiaglonal(int x, int y, int length)
{
    for (var i = 0; i < length; i++)
    {
        Console.SetCursorPosition(x + i, y + i);
        Console.Write('\\');
    }
}
您需要将光标位置设置为给定位置,然后需要绘制一条水平线

如果要打印对角线,请使用\而不是-并增加x和y位置

大概

    public static void LineDiagonal(int x, int y, int length)
    {

        for(int i = 0; i < length; i++)
        {
            //This will set your cursor position on x and y
            Console.SetCursorPosition(x+i, y+i);

            //This will draw '\' n times here n is length
            Console.Write(@"\");

        }
    }
输出:


水平线只是一条长字符串,里面填充了破折号。比如------。您可以生成具有所选字符长度的字符串。Console.WriteLinenew string'-',length;控制台。设置光标位置POSH+i,pov+i;一定要加支票!你知道对角线吗?知道。把“+i”加在y上,画一条对角线,你知道吗?
    public static void LineDiagonal(int x, int y, int length)
    {

        for(int i = 0; i < length; i++)
        {
            //This will set your cursor position on x and y
            Console.SetCursorPosition(x+i, y+i);

            //This will draw '\' n times here n is length
            Console.Write(@"\");

        }
    }