2012-01-24 73 views
1

我有包含二進制數據爲[3240]一個多維數組:如何在C#中將多維數組轉換爲單維數組?

byte[,] bData = (byte[,])objTran; // bdata is binary data with [3,240] 

這意味着它有3個記錄每個從0239和1239和2239。 現在我整合這個數據在TRANSACTIONLOGINFO結構複製:

GCHandle handle = GCHandle.Alloc(bData, GCHandleType.Pinned); 

TRANSACTIONLOGINFO ObjTranInfo = (TRANSACTIONLOGINFO)Marshal.PtrToStructure(
    handle.AddrOfPinnedObject(), typeof(TRANSACTIONLOGINFO)); 

handle.Free(); 

但每次ObjTranInfo只顯示第一個數據的詳細信息。如何將多維數組轉換爲一維數組並傳遞到GCHandle以逐個獲取每個數據?

+0

什麼是'TRANSACTIONLOGINFO'?你確定它不是一個結構數組? – leppie

+0

什麼是objTran對象? – zzfima

+0

TRANSACTIONLOGINFO是一個結構體 – user662285

回答

1

創建一個正確大小的一維字節數組(在你的情況下爲240),並使用for循環一次在一個字節上覆制數據。對原始二維數組的每一行重複此操作。

+0

代碼示例請 – user662285

相關問題