2010-03-08 141 views
0

我想写一些代码来返回C#中的数组,但不知道正确的语法。我认为我的方法设置正确,但将数组设置为方法的结果是我遇到的困难。从C#方法获取数组结果

方法声明:

double[,] function(double variable) 
{ 
... 
code 
... 

return array 
} 
+2

哪里是这里的问题?只要数组被定义为double [,]数组,这应该工作... – TJMonk15 2010-03-08 14:32:40

回答

4

下面是如何创建的二维阵列的例子,把一些价值在它,并返回它:

double[,] function(double variable) { 
    double[,] result = new double[2,2]; 
    result[0,0] = 1.0; 
    result[0,1] = 2.0; 
    result[1,0] = 3.0; 
    result[1,1] = 4.0; 
    return result; 
} 

如果它是一个一个维数组,你想(的问题是关于有点不清楚):

double[] function(double variable) { 
    double[] result = new double[3]; 
    result[0] = 1.0; 
    result[1] = 2.0; 
    result[2] = 3.0; 
    return result; 
} 
+0

所以在方法之外,我怎样才能设置一个数组变量到这个方法的结果 – sooprise 2010-03-08 14:37:03

+0

@Soo:是的,例如:'double [,] x = function(1.5);'(上述示例中未使用该参数) – Guffa 2010-03-08 14:40:01

+0

Guffa,使用该代码会导致以下错误: 对象引用是非静态字段,方法,或属性 – sooprise 2010-03-08 14:45:15

1

阵列是双[]。 double [,]是一个二维数组(矩阵)。

0
public static ANameOfSomeClass 
{ 
    public static double[] SingleDoubleArraryMethodName(double parameterValue) 
    { 
     double[] values = new double[3]; 

     values[0] = 1.0; 
     values[2] = 1.5; 
     values[2] = 1.75; 


     return values; 
    } 

    public static double[,] MultDimDoubleArraryMethodName(double parameterValue) 
    { 
     double[,] values = new double[2,2]; 

     values[0,0] = 0.0; 
     values[0,1] = 1.0; 
     values[1,0] = 2.0; 
     values[1,1] = 2.5; 

     return values; 
    } 
} 

你可以把它像

double[] results = ANameOfSomeClass.SingleDoubleArraryMethodName(1.2); 

如果删除关键字static水就变成

ANameOfSomeClass yourObj = new ANameOfSomeClass(); 

double[] results = yourObj .SingleDoubleArraryMethodName(1.2); 
0

Guffa的回答说明了如何创建和填充一个二维数组(它看起来就像是你想做)。

要设置这个方法的返回值的变量,你可以这样做(假设该方法的名称是MyMethod):

double myVariable = 12.34; 
double[,] myArray = MyMethod(myVariable);