我如何使用" \ r"在2行同时c#

时间:2018-03-31 15:08:02

标签: c#

我希望能够同时更新2行。

E.g

for(int i = 0; i < 100; i++)
{
Console.Write("\rNumber 1 - {0}",i);
Console.Write("\rNumber 2 - {0}",i);
}

但它只是打印在第一个写行上。

有什么想法吗?

由于

3 个答案:

答案 0 :(得分:4)

您似乎正在寻找一种在控制台中显示多行的方法,并定期覆盖它们。为此,您需要每次将光标放回相同的位置。

执行此操作的功能是Console.SetCursorPosition

#!/usr/bin/ruby -w

puts "Enter the value of n";
$n=gets;
s = String.new("abc");
s.split("").each do |i|
    $j = 0;
    x = i;
    begin
         x.next;
         $j = $j + 1;
    end while $j < $n

    puts x;
end

答案 1 :(得分:0)

控制台WriteLine ...或\ n

使用\ n

换行符
for(int i = 0; i < 100; i++)
{
    Console.Write("\rNumber 1 - {0} \n",i);
    Console.Write("\rNumber 2 - {0}",i);
}

或Console.WriteLine

for(int i = 0; i < 100; i++)
{
    Console.WriteLine("Number 1 - {0}",i);
    Console.WriteLine("Number 2 - {0}",i);
}

尝试这种错误的

for(int i = 0; i < 100; i++)
{
    Console.WriteLine("\rNumber 1 - {0} \r\n",i);
    Console.WriteLine("\rNumber 2 - {0} \r\n",i);
}

答案 2 :(得分:0)

\ r \ n将光标移动到当前行的开头并开始覆盖上一个文本

\ n创建一个新行

如果您想覆盖上一行,那么您就是正确的

for(int i = 0; i < 100; i++)
{
   Console.Write("\rNumber 1 - " +i.ToString());
   Console.Write("\rNumber 2 - "+i.ToString());
}