首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

在一个函数体中能否用 ref 呢?该如何解决

2012-01-19 
在一个函数体中能否用 ref 呢?就是一个函数接收了一个ref的引用,然后我想在函数体中再将这个引用传给另一

在一个函数体中能否用 ref 呢?
就是一个函数接收了一个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也能--呢?
}

[解决办法]
如下使用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;
}
}
}
[解决办法]
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--;
}
[解决办法]
看来只能用指针了

热点排行