- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:byte配列の途中から2個ずつintに移すには?)
byte配列をintに変換する方法
このQ&Aのポイント
- C#を使用して、byte配列の途中から2個ずつintに移す方法を教えてください。
- データの取得対象はヘッダとサブヘッダ以降で、値は2バイトずつです。
- より簡潔な方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
recvData[5]のアドレスを使って、unsigned short型ポインタ使えばいいのでは?
その他の回答 (1)
- aurumnet
- ベストアンサー率43% (51/117)
回答No.2
ビルドするときはunsafeオプションをつけて byte[] test = { 2, 3, 4, 5,6, 1, 0, 2, 0, 255, 255, 5 }; int x; unsafe { for(int i=0;i<3;i++){ int* xp=&x; byte* p = (byte*)xp; *p = test[5 + i * 2]; ++p; *p = test[5 + i * 2+1]; Console.WriteLine("{0}", x); } } Console.ReadLine();
補足
すみません。丸1日かかり、自己解決しました。 BitConverter.ToUInt16(recvData,i*2)