c#的方法中如何同时返回两个数组变量呢 谢谢

privatedouble[]Interplotion(double[]a,double[]b,double[]c){double[]x;double[]y;......... private double [] Interplotion(double[] a,double[] b,double[] c)
{
double[] x;
double[] y;
........
//x,y是要返回的两个数组
}
用return方法只能返回一个值,返回两个数组有没有其他方法呢?
展开
 我来答
FantasyChump
2011-07-14 · TA获得超过3288个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2242万
展开全部
推荐的方法:
1.返回锯齿形数组(不要听他们说什么二维数组,如果是二维的就要求x和y必须一样长度了):
return new double[][]{x,y};

2.返回键-值对象:
private KeyValuePair<double[],double[]> ...
{
return new KeyValuePair<double[],double[]>(x,y);
}

3.或者返回自定义的对象,不过稍显麻烦:
public class InterplotionResult{ public double[] X{get;set;} public double Y{get;set;}}

...return new InterplotionResult(){X=x,Y=y}

4.或使用out关键字作为传出参数:
private void Interplotion(double[] a,double[] b,double[] c,out double[] x,out double[] y);
dualmind
2011-07-14 · TA获得超过270个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:175万
展开全部
一种是自己写个类, 设置两个成员;

另一中是组织成Object数组返回, 使用的时候显示转换先
private Object[] Interplotion(double[] a,double[] b,double[] c)
{
double[] x;
double[] y;
............
return new Object[] {x, y};
}

调用的时候cast下:
Object[] ret = Interplotion(a, b, c);
double[] x = (double[]) ret[0];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1c019ebea
2011-07-14 · 贡献了超过116个回答
知道答主
回答量:116
采纳率:0%
帮助的人:47.5万
展开全部
你好:

private object Interplotion(double[] a, double[] b, double[] c)
{
object obj;
double[] x;
double[] y;
List<double[]> lis = new List<double[]>();
lis.Add(x);
lis.Add(y);
obj=lis;
return obj;
}

可以返回一个object 可以返回一个List 也是整合了多个double 数组
给分谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
charlybus
2011-07-14 · 超过17用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:32万
展开全部
有两个方法:
1,将x和y包装到一个类中(自己新建一个类),然后在方法Interplotion(double[] a,double[] b,double[] c)中返回这个类
2,将x作为out类型的输入参数:
private double [] Interplotion(double[] a,double[] b,double[] c,out double[] x )
{

double[] y;
........
return y;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhenxin0603
2011-07-14 · TA获得超过600个赞
知道小有建树答主
回答量:600
采纳率:100%
帮助的人:451万
展开全部
函数参数中用 out ,在函数内对此类参数直接操作即可
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式