2014-10-19 46 views
0

我有下面的C++行:C#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

不起作用

回答

4

在C++中,if語句中的條件不必是布爾表達式 - 但它在C#中有效。你只需要檢查的結果是非零:

if ((fromPos.y & 0x40) != 0) 

(括號內是必需的,由於優先; !=結合比&更緊。)