我有以下C ++行:
if(fromPos.x == 0xFFFF){
if(fromPos.y & 0x40){
fromIndex = static_cast<uint8_t>(fromPos.z);
}
else{
fromIndex = static_cast<uint8_t>(fromPos.y);
}
}
else
fromIndex = fromStackPos;
但是我不知道如何在C#中利用fromPos.y和0x40,以C ++的方式进行操作在CSharp上不起作用
最佳答案
在C ++中,if
语句中的条件不必是布尔表达式-但在C#中确实如此。您只需要检查结果是否为非零即可:
if ((fromPos.y & 0x40) != 0)
(由于优先级,必须使用方括号;
!=
的绑定比&
紧密。)