“ | =”是什么意思

过来

语境:

 private bool AllowMoveEventProcessing(float time)
     {
         bool allow = Input.GetButtonDown (m_HorizontalAxis);
         allow |= Input.GetButtonDown (m_VerticalAxis);
         allow |= (time > m_NextAction);
         return allow;
     }

如位于:http : //answers.unity3d.com/questions/782423/unity-46-ui-restrict-eventsystem-only-to-keyboard.html

非常感谢你!

贾斯汀·尼斯纳(Justin Niessner)

该运算符执行按位“或”运算并将结果分配回allow等效于:

bool allow = Input.GetButtonDown(m_HorizontalAxis);
allow = allow | Input.GetButtonDown(m_VerticalAxis);
allow = allow | (time > m_NextAction);
return allow;

老实说,它没有任何意义,并且会执行不必​​要的工作,因为这些操作不会造成短路。这将更容易理解,因为(当然,除非代码依赖于所运行的方法调用的副作用,而这又是不良的设计):

return Input.GetButtonDown(m_HorizontalAxis) ||
    Input.GetButtonDown(m_VerticalAxis) ||
    time > m_NextAction;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章