gpt4 book ai didi

c# - 在游戏中只触发一次时更有效的 if 语句

转载 作者:太空宇宙 更新时间:2023-11-03 15:10:41 25 4
gpt4 key购买 nike

假设我想要一个每场比赛只触发一次的 if 语句。
一旦发生这种情况,让 CPU 再次检查该条件的有效性对我来说似乎是在浪费精力。有没有办法以某种方式不再进行此检查?它根本不会带来任何显着的性能提升。但我只是好奇。

我想要一个通用的解决方案,这就是为什么我让它如此含糊,因为我经常遇到这种情况。

伪代码:

if(CoinCollected && !CoinCollectedBefore)
{
//Do stuff
}

最佳答案

根据 if 条件需要检查的内容,通常的解决方案是创建一个私有(private) bool,然后检查它是否已设置。

private bool cachedResult;
protected bool CachedResult
{
get { return cachedResult ?? (cachedResult = ComplicatedCalculation()); }
}

...

if(CachedResult)
{
...
}

此代码检查“cachedResult”是否为空。如果是,则运行 ComplicatedCalculation() 方法来获取结果。填充“cachedResult”之后,if 语句将不会重新运行计算。

关于c# - 在游戏中只触发一次时更有效的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41286338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com