2017-04-15 1 views
0

i den folgenden Code in c migrieren möchten ++ C#reinterpret_cast in C#, wandern Code von C++ C#

https://www.unknowncheats.me/forum/counterstrike-global-offensive/186820-cs-matchid-4.html

Mein Problem seiner hier Wie kann ich dies in C# tun

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); 

Und das Ergebnis ist dieser

MatchID sein: 3203527750019186923, outcomeId: 32035318388280526 97, TokenID: 13431

dank

Antwort

0

Im Code gibt es eine std::array<char, 18> result. In C# wäre es ein byte[] result.

So:

ulong matchId = BitConverter.ToUint64(result, 0); 
ulong outcomeId = BitConverter.ToUint64(result, 8); 
ulong tokenId = BitConverter.ToUint64(result, 16);