C# 在 C++ 中对 (number & number) 的正确用法?

标签 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 上不起作用

最佳答案

在 C++ 中,if 语句中的条件不一定是 bool 表达式 - 但在 C# 中确实如此。您只需要检查结果是否为非零:

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

(由于优先级,括号是必需的;!=& 绑定(bind)更紧密。)

关于C# 在 C++ 中对 (number & number) 的正确用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26448271/

相关文章:

c++ windows通过USB串行获取USB端口和集线器

c# - 更新 PropertyGrid

c++ - 为什么我的 Rcpp 代码会给出意外的所有整数值输出?

c++ - 为什么我不能从 C++ 向 PHP 发送多个参数?

c++ - Knuth 的乘法散列函数通过位移位

c++ - gcc 支持 cbegin 和 cend 方法

c# - 为什么事件需要委托(delegate)?为什么我们甚至需要事件?

c# - 使用反射获取通用 Dictionary <,> 的键值

c# - System.Data.SqlClient.SqlConnection 不包含使用 dapper 和 c# 查询的定义

c# - 尽管文件已存在,但是System.IO.FileNotFoundException错误