Значения структуры перезаписываются во время выполнения
У меня есть структура, определенная ниже:
[StructLayout(LayoutKind.Explicit, Size = 10)]
public struct AudioSampleInfo
{
[FieldOffset(0)]
public ushort AudioBitPerSample;
[FieldOffset(2)]
public ushort AudioNumChannels;
[FieldOffset(4)]
public ushort AudioType;
[FieldOffset(6)]
public uint AudioSampleRate;
}
Однако во время выполнения значения, кажется, меняются. Кажется, что назначенный массив байтов в памяти кажется перекрывающимся.
Во время выполнения программы, когда мы устанавливаем значения как:
AudioSampleInfo audioInfo = new AudioSampleInfo();
audioInfo.AudioBitPerSample = 16;
audioInfo.AudioNumChannels = 1;
После настройки AudioNumChannels
, ценность AudioBitsPerSample
изменяется на 272.
Я не могу найти какие-либо проблемы относительно того, почему это произойдет.
Любые предложения будут полезны?