我正在将C#中的二维数组转换为一维数组。 我从设备(C++)接收到二维数组,然后在C#中将其转换为一维数组。 这是我的代码:
int iSize = Marshal.SizeOf(stTransactionLogInfo); //stTransactionLogInfo is a structure
byte[,] bData = (byte[,])objTransLog; //objTransLog is 2 dimensionl array from device
byte[] baData = new byte[iSize];
for (int i = 0; i < bData.GetLength(0); i++)
{
for (int j = 0; j < iSize; j++)
{
baData[j] = bData[i, j];
}
}
我从上面的代码中得到了期望的结果,但问题在于这不是标准的实现方式。 我想知道如何用标准的方式实现。 也许需要做序列化,我不确定。 提前感谢。