2010-03-08 117 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);