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方法只能返回一个值,返回两个数组有没有其他方法呢? 展开
{
double[] x;
double[] y;
........
//x,y是要返回的两个数组
}
用return方法只能返回一个值,返回两个数组有没有其他方法呢? 展开
10个回答
展开全部
推荐的方法:
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);
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);
展开全部
一种是自己写个类, 设置两个成员;
另一中是组织成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];
另一中是组织成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];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好:
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 数组
给分谢谢
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 数组
给分谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有两个方法:
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数参数中用 out ,在函数内对此类参数直接操作即可
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询