在 C# 中,我如何在同一行中打印一个字符串,每次打印结果时都替换该字符串?

In c# how do i print a string in the same line, replacing the string each time i print the result?

我正在尝试模拟从 0% 到 100% 的加载屏幕。

我正在使用 Console.Write 而不是 WriteLine 但这只会打印值和其余部分而不是替换最后一个打印。

for (int k = 0; k <=100; k++){
                    Console.Write($"[LOADING: {k}% ]");
                    Thread.Sleep(25);
                }

这导致:

[加载 1%] [加载 2%] [加载 3%] [加载 4%] [加载 5%]

我希望有一个字符串用下一个打印值替换自身

只需在 for 循环的每次迭代中调用 Console.Clear() 即可覆盖之前显示在控制台中的任何文本。

for (int k = 0; k <=100; k++){
                Console.Clear()
                Console.Write($"[LOADING: {k}% ]");
                Thread.Sleep(25);
            }

试试这个

for (int k = 0; k <=100; k++){
                Console.SetCursorPosition(0, Console.CursorTop);
                Console.Write($"[LOADING: {k}% ]");
                Thread.Sleep(25);
            }