【问题标题】:C# Write to console slowly [duplicate]C#缓慢写入控制台[重复]
【发布时间】:2018-07-16 21:56:45
【问题描述】:

我正在制作一个简单的游戏,我希望在控制台中逐字输出文本。我能找到的唯一方法是使用 Thread.Sleep() 函数,但这仅适用于每一行。我怎样才能让它逐字逐句地写呢?

【问题讨论】:

  • 也许通过对任何给定字符串使用拆分方法
  • 分享示例代码,你试过了
  • 你能展示你的代码中写文本的部分吗?
  • @D-johnAnshani - 是的,这是一个更好的副本

标签: c#


【解决方案1】:

你可以制作如下的辅助方法。

using System.Threading.Tasks;
public static async Task WriteSlowly(string word, TimeSpan delay = default) 
{       
    if(delay == default) delay = TimeSpan.FromSeconds(1);

    Console.Write(word);
    await Task.Delay(delay);
}

那就这样用吧

public class Program {
    public async Task Main() {
        while(true) 
        {
            await WriteSlowly("amazing");
        }
    }
}

当你需要换行时,只需像这样使用它:

await WriteSlowly(word + Environment.NewLine);

当然,这是带有默认延迟时间的最简单的解决方案,但希望你能明白。

【讨论】:

  • @CamiloTerevinto,我正忙于添加实际示例用法,但忘记了另一个,谢谢 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-12
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
  • 1970-01-01
相关资源
最近更新 更多