首页 > 解决方案 > c#:任务for循环中的延迟

问题描述

嗨,你能帮我在战斗任务中的 forloop 中添加延迟吗?我不确定该怎么做,最近才开始学习 c#

var Battle = new Task(() => 
{
    for (int ctr = 1; ctr <= 3; ctr++)
        Console.WriteLine(" In battle {0}", ctr);
});

Battle.Start();
Battle.Wait();

我希望每次计数之间有一个延迟,如下所示:

战斗 1 (delay1000) 战斗 2 (delay1000) 战斗 3

标签: c#for-loop

解决方案


Func<Task> battleFactory = async() => 
{
    var sw = Stopwatch.StartNew();

    for ( var i = 1; i <= 3; i++ )
    {
        await Task.Delay(1000);
        Console.WriteLine( "{0}: In battle {1}", sw.Elapsed, i );
    }
};

Task battle = battleFactory();
battle.Wait();

在.net fiddle上查看实时样本


推荐阅读