if语句即使在错误条件下也可以执行

时间:2019-12-17 16:20:12

标签: c# unity3d

所以我对“ if”块有问题,即使条件错误也可以执行。方法<amp-iframe width="600" height="400" layout="responsive" sandbox="allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-presentation" frameborder="0" src="https://www.google.com/maps/embed/v1/place?key=AIzaSyD6dkHc8fW_mUsoWRH7XZoje20cAfLqpjw&amp;q=-34.343364984291966,-58.78496684381105&amp;zoom=15"></amp-iframe> 销毁目标游戏对象,它发生在常规循环的第二次迭代中,但是代码

Attack
内部循环中的

工作4次,并显示在控制台Debug.Log(Player.Contains(Activepers[i]) && Activepers[i] != null); 中。怎么可能?如果条件为假,但它执行代码并显示为假?!

True,True,True,False

1 个答案:

答案 0 :(得分:0)

在以下行中:

Debug.Log(Player.Contains(Activepers[i]) && Activepers[i] != null);

您有两个条件:Player.Contains(Activepers[i])Activepers[i] != null,第二个条件可以是false,因此记录为false。

yield return new WaitForSeconds(1f);之前有Debug.Log行,因此可以在运行时更改条件。