读书人

out参数有关问题

发布时间: 2012-01-05 22:36:54 作者: rapoo

求助,out参数问题
private void Page_Load(object sender, System.EventArgs e)
{
string[] aa;
string[] bb;
testes(out aa,out bb);
Response.Write(aa[0]);
}
public void testes(out string[] aa,out string[] bb)
{
aa[0]= "cc ";
bb[0]= "dd ";
}
本人想通过testes方法改变两个数组的值。(从没用过out和ref,第一次用)。可是编译时通不过。各位兄弟帮忙看下。先谢了!(能给兄弟讲下out和ref就更加感激不尽了)

[解决办法]
上面看错了

可以这样改

private void Page_Load(object sender, System.EventArgs e)
{
string [] aa;
string [] bb;
testes(out aa,out bb);
Response.Write(aa[0]);
}

public void testes(out string[] aa,out string[] bb)
{
aa = new string[]{ "cc ", "dd "};
bb = new string[]{ "ee ", "ff "};
}
[解决办法]
请参考MSDN:

方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。

当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参数。

方法参数上的 ref 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中

读书人网 >asp.net

热点推荐