C#ユニティ3Dのゲームの更新機能でifブロックが呼び出されています。言うまでもなく、それはたくさん呼ばれるので、私は可能な限り最適化しようとしています。&&を使ってifブロックの式の順序はどうなりますか?
if (playerIsFlagged == true){
if (player.distance < 10){
doaction()
}
}
は今、呼び出されているすべての更新のために、私は最初に簡単なplayerIsFlaggedを確認したい、そして距離:私は私が行うために必要な2つのチェックを持っています。だから私は書いた:
if (playerIsFlagged == true && player.distance < 10){
doaction()
}
をこの場合、コードは常にテストあれば失敗する前に、両方の変数の値をテストします、またはそれは最初(playerisFlagged)が偽であることを確認したときには、自動的に2番目の(距離)をスキップしますチェック?
つまり、どちらの場合でもパフォーマンスに違いはありますか?
これらは同じです。サイドノート: '== true'をつける必要はありません。ちょうど' if(playerIsFlagged) ' – maccettura
と言うことができます。私は、下垂体ではなく、二重旗を理解しています。 – raphadko
@raphadko質問が重複しているという事実は、必ずしもそれが下書きされるべきであるという意味ではありません。しかし、あなたが投稿する前にもっと多くの研究をしておかなければならないと感じているので、二重引用符は下降声を得る可能性がより高いです。 –