我正在尝试将其转换为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)
使用Thread.Sleep(5000)以暂停,而不是你的代码,5秒一个线程, -它有几个逻辑错误.
present将是的值DateTime.Now时被执行的线,和add30Seconds将是的值DateTime.Now时加5秒其被执行一行.
这些变量不会更新,也不会更改其值.
这意味着present将永远是==对add30Seconds.