c#的方法中如何同时返回两个数组变量呢 谢谢
发布网友
发布时间:2022-11-18 16:46
我来回答
共5个回答
热心网友
时间:2024-11-24 12:45
推荐的方法:
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);
热心网友
时间:2024-11-24 12:46
一种是自己写个类, 设置两个成员;
另一中是组织成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];
热心网友
时间:2024-11-24 12:46
你好:
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 数组
给分谢谢
热心网友
时间:2024-11-24 12:47
有两个方法:
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;
}
热心网友
时间:2024-11-24 12:47
函数参数中用 out ,在函数内对此类参数直接操作即可