Estoy convirtiendo una matriz bidimensional en una dimensión única en C#. Recibo la matriz bidimensional del dispositivo (C++) y luego la convierto a 1 dimensión en C#. Aquí está mi código:¿Cómo convertir una matriz bidimensional a una dimensión única en 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];
}
}
consigo el resultado deseado desde arriba de código, pero el problema es que no es la forma habitual de aplicación. Quiero saber cómo se puede hacer de forma estándar. Puede estar haciendo Marshalling, no estoy seguro. Gracias de antemano.
¿Por qué crees que no es la forma estándar? Me parece bien. –