Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重新解释C中的转换,从C+迁移代码+;到c# 我想将C++中的以下代码迁移到C<_C#_C++ - Fatal编程技术网

重新解释C中的转换,从C+迁移代码+;到c# 我想将C++中的以下代码迁移到C<

重新解释C中的转换,从C+迁移代码+;到c# 我想将C++中的以下代码迁移到C<,c#,c++,C#,C++,我的问题就在这里, 我怎样才能在c#中做到这一点 uint64\u t matchid=*重新解释强制转换(result.data()); uint64\u t outcomeId=*重新解释(result.data()+8); uint16\u t tokenId=*重新解释强制转换(result.data()+16); 结果一定是这样 matchId:3203527750019186923, 结果编号:3203531838828052697, 令牌ID:13431 谢谢代码中有一个std:

我的问题就在这里, 我怎样才能在c#中做到这一点

uint64\u t matchid=*重新解释强制转换(result.data());
uint64\u t outcomeId=*重新解释(result.data()+8);
uint16\u t tokenId=*重新解释强制转换(result.data()+16);
结果一定是这样

matchId:3203527750019186923, 结果编号:3203531838828052697, 令牌ID:13431


谢谢

代码中有一个
std::array result
。在C语言中,它将是一个
字节[]结果

因此:

uint64_t matchid = *reinterpret_cast<uint64_t*>(result.data());
uint64_t outcomeId = *reinterpret_cast<uint64_t*>(result.data() + 8);
uint16_t tokenId = *reinterpret_cast<uint16_t*>(result.data() + 16);
ulong matchId = BitConverter.ToUint64(result, 0);
ulong outcomeId = BitConverter.ToUint64(result, 8);
ulong tokenId = BitConverter.ToUint64(result, 16);