J'ai un tableau d'octets que je veux réinterpréter comme un tableau de structures blittables, idéalement sans copier. L'utilisation de code dangereux est très bien. Je connais le nombre d'octets et le nombre de structures que je veux sortir à la fin.Ré-interpréter un tableau d'octets sous la forme d'un tableau de structures
public struct MyStruct
{
public uint val1;
public uint val2;
// yadda yadda yadda....
}
byte[] structBytes = reader.ReadBytes(byteNum);
MyStruct[] structs;
fixed (byte* bytes = structBytes)
{
structs = // .. what goes here?
// the following doesn't work, presumably because
// it doesnt know how many MyStructs there are...:
// structs = (MyStruct[])bytes;
}
Je crois que vous pouvez trouver votre réponse à http://stackoverflow.com/questions/621493/c-unsafe-value-type- array-to-byte-array-conversions qui contient des techniques de conversion qui fonctionnent dans votre cas. – sisve