为什么这不能在同一条线上打印所有内容?

时间:2016-01-05 22:10:25

标签: c# .net visual-studio

从2:47观看此视频(https://www.youtube.com/watch?v=bFdP3_TF7Ks),您将了解我的困境。

它应该在同一行上向后打印。

namespace UnderstandingArrays
{
    class Program
    {
        static void Main(string[] args)
        {   
        string zig = "You can get what you want out of life if "
            + "you help enough people get what they want out of life.";

        char[] charArray = zig.ToCharArray();
        Array.Reverse(charArray);

        foreach (char zigChar in charArray)
        {
            Console.Write(zigChar);    
            Console.ReadLine(); 
        }
    }
}

2 个答案:

答案 0 :(得分:2)

ReadLine()会阻塞,直到您的程序读取'\ n',因此您的程序会打印出一个字符并等待您按Enter键(这会导致您的终端转到下一行)。因此,您最终会在每一行上获得一个字符。

您可以使用Console.ReadKey(Boolean)获取(而不是显示)下一次击键。

您也可以将Console.ReadLine()移到foreach循环之外,以便打印所有内容,然后等待换行符。

答案 1 :(得分:0)

我明白了。在foreach之后我有大括号。不知何故,它导致它垂直打印每个字符而不是一行。