我正在做一个简单的游戏,我希望文本在控制台中逐字输出。我可以找到的唯一方法是使用 Thread.Sleep()函数,但这仅适用于每一行。我该如何改写逐个单词?
答案 0 :(得分:4)
您可以按照以下方法制作辅助方法。
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);
当然,这是具有默认延迟时间的最简单的解决方案,但希望您能明白。