如何使函数timedelay减少5秒

igg*_*012 0 c# timedelay

我正在尝试将其转换为C#代码:

等待5秒钟,然后借记银行帐户.

我有一种感觉,我很接近......但这不起作用.我这样做是对的吗?

    public override void Process(BankAccount b, decimal amount)
    {
        DateTime present = DateTime.Now;
        DateTime addFiveSeconds = DateTime.Now.AddSeconds(5);

        if (present != addFiveSeconds)
        {
            this.Status = TransactionStatus.Pending;
        }
        else
        {
            b.Debit(amount);
            this.Status = TransactionStatus.Complete;
        }
    }
Run Code Online (Sandbox Code Playgroud)

Ode*_*ded 6

使用Thread.Sleep(5000)以暂停,而不是你的代码,5秒一个线程, -它有几个逻辑错误.

present将是的值DateTime.Now时被执行的线,和add30Seconds将是的值DateTime.Now时加5秒被执行一行.

这些变量不会更新,也不会更改其值.

这意味着present永远==add30Seconds.