我想在非托管 PInvoke 场景中使用 System.Numerics.Complex。使用 ILSpy,我注意到它没有分配 LayoutKind.Sequential 属性。
/// <summary>Represents a complex number.</summary>
[Serializable]
public struct Complex : IEquatable<Complex>, IFormattable
{
private double m_real;
private double m_imaginary;
...
在不转换为期望公共内存布局的本机函数的情况下给出指向 Complex[] 数组的指针是否安全,即:实数第一,虚数第二?或者,CLR 是否会因为某种原因打乱它的真实和虚构属性?