就是一个函数接收了一个ref的引用,然后我想在函数体中再将这个引用传给另一个
请问ref能行吗?怎么用?比如:void main()
{
   int s=20;
   abc(ref s);
}private void abc(ref int a)
{
   int b;
   b=??????????  //怎么让b也能引用a的地址呢
   b--; //怎么让b--后,main函数中的s也能--呢?
}

解决方案 »

  1.   

    如下使用unsafe代码:private void button1_Click(object sender, EventArgs e)
    {
    int s = 20;
    this.abc(ref s);
    }private void abc(ref int s)
    {
    unsafe
    {
    fixed (int* b = &s)
    {
    *b=*b-1;
    }   
    }
    }
      

  2.   

    或者用-=但是不能使用--:private void abc(ref int s)
    {
    unsafe
    {
    fixed (int* b = &s)
    {
    *b-=1;
    }   
    }
    }
      

  3.   

    int a = 100;
                this.fun(ref a);
                int ival = a;
                
               
                    private void fun(ref int intag)
            {
                this.fun1(ref intag);
            }        private void fun1(ref int intag1)
            {
                intag1--;
            }
      

  4.   

    如果使用--就要把*b做为一个整体来处理,比如:
    fixed (int* b = &s)
    {
    (*b)--;
    }   
      

  5.   

    谢谢各位,我是用的int[] 的数组进行引用传递,这样不用unself也可以进行同样的操作