c# 两个返回值

我想通过类似C++ 传参的时候 用指针来传递地址 的方法来实现对方法外层的变量修改
以做到多个一个方法多个返回值的效果
可是c#上似乎用不了指针
别人说可以用类似的方法
但是没有细说
希望有人能细说一下具体方法
谢谢了

第1个回答  2012-05-10
实现的方式很多,如果说类似指针的话,在传参的时候可以使用out,ref选项,这两个选项的差别不大,都是传递引用的,区别在于out参数不需要初始化,ref则需要。
eg:public void GetValue(out int a,ref int b);
调用的时候这样:int a,int b = 0;//b必须初始化
GetValue(out a, ref b);
这样就可以再函数里面修改参数的值了.本回答被提问者采纳
第2个回答  2012-05-09
啊哦 你可以定义一个类 把2个数据赋值进去

然后返回那个类 就好了
class aaa
{
/// <summary>
/// ip
/// </summary>
private string _ip;

public string Ip
{
get { return _ip; }
set { _ip = value; }
}
/// <summary>
/// 地址
/// </summary>
private string _areas;

public string Areas
{
get { return _areas; }
set { _areas = value; }
}
}

这样定义一个类 或者结构体
aaa a = new aaa();
a.Ip="xxx";
a.Areas="xxx";
return a;
第3个回答  2012-05-09
是的,C#中已经把指针去掉了。如果想使用地址传递,则在方法的入参声明之前加上ref或out关键字表示为地址传递。ref表示在方法外已经初始化,out则表示该变量必须在方法内进行初始化后才能使用,调用方法的时候也要在对应的参数前加上相应的关键字才行。
第4个回答  2012-05-08
用out或者ref传递参数呗,如果需要传递进去并修改就用ref,如果只是传出就out
相似回答