构造函数里ref传递不是同一个地址?

构造函数里ref传递不是同一个地址?

问题描述:


public class MoveTest
{
    public float a;
    public MoveTest(ref float a)
    {
        this.a = a;
    }

    unsafe public void Print()
    {
        fixed (float* i = &a) ;
    }
}

    //其他模块
    private float b = 0;

    MoveTest m = new MoveTest(ref b);
    fixed (float* i = &b) ;
    m.Print();

实测改变ab的值都对彼此无任何影响,而且debug下地址也不一样,这该怎么传地址啊?

你想要做什么样的事呢?通常unsafe代码是很少使用的。
也许你需要的链接: https://stackoverflow.com/questions/3261402/what-is-the-equivalent-to-passing-by-address-in-c-sharp