我正在将 C++ 代码转换为 C#
假设我在 C++ 中得到了这个
int v5;
v5 = (*(_DWORD *)(v4 + 68) ^ (unsigned __int64)(unsigned int)(*(_DWORD *)(v4 + 56) ^ *(_DWORD *)(v4 + 20))) % 9;
在 C# 中它会像..
int v5;
v5 = (int)((BitConverter.ToInt32(v4, 68) ^ (ulong)(uint)(BitConverter.ToInt32(v4, 56) ^ BitConverter.ToInt32(v4, 20))) % 9);
但我得到错误.. (ulong)
,(uint)
运算符“^”不能应用于“int”和“ulong”类型的操作数
我应该做
(int)(ulong)(uint)(...)
要不然是啥?