C# 清除控制台最后一项并替换新项?控制台动画

标签 c# console.writeline

以下 CSharp 代码(仅示例):

Console.WriteLine("Searching file in...");

foreach(var dir in DirList)
{
    Console.WriteLine(dir);
}

打印输出为:

Searching file in...

dir1

dir2

dir3

dir4

.

.

.

有问题吗? 我怎样才能得到输出

Searching file in...

dir1  

(then clear dir1 and print dir2 and so on)All next dir name wiil replace the previous dir

最佳答案

使用Console.SetCursorPosition将光标设置在最后一行的开头并重写它。

类似于:

Console.WriteLine(dir);
Console.SetCursorPosition(0, Console.CursorTop - 1);

编辑:

根据您的评论,您可以执行以下操作:

Console.WriteLine("Searching file in...");
foreach (var dir in DirList)
{
    ClearCurrentConsoleLine();
    Console.Write(dir);
}

ClearCurrentConsoleLine 定义为:

public static void ClearCurrentConsoleLine()
{
    int currentLineCursor = Console.CursorTop;
    Console.SetCursorPosition(0, Console.CursorTop);
    for (int i = 0; i < Console.WindowWidth; i++)
        Console.Write(" ");
    Console.SetCursorPosition(0, currentLineCursor);
}

关于C# 清除控制台最后一项并替换新项?控制台动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5027301/

相关文章:

unity3d - 我可以在 Unity 中使用 powershell 命令吗?

c# - 使用 C# 客户端将文件上传到 https 网络服务器

c# - 在 IIS 6 中托管 .net 4.0 REST WCF 服务

c# - 为什么 Console.ReadKey() 将 'a' 符号连接到下一个输出?

c# - 在 GUI 上打印到屏幕

c# - 如何在 C# 中为控制台 writeline 中的字符串保留一定数量的字母

c# - Console.WriteLine 在 ASP.net 生产环境中去哪里?

c# - 数组不支持类型 System.String

c# - 从列表中的数组中删除对象

c# - 重用 SqlDataRecord 是否安全?