2016-07-19 116 views
0

我正在使用Visual Basic庫和我正在使用的一個System.Array調用的方法傳遞給它。 我已經嘗試使用「double []」和「Object []」聲明我的數組時,但是那些不會通過。 我不知道如何轉換/聲明一個「System.Array」。將double []轉換爲System.array c#

Object[] filledVals = new Object[9];     
xyz.getDoubleArray("NumVoids", out filledVals); //where .getDoubleArray(string, System.Array) 
+0

'陣列陣列; xyz.getDoubleArray(「NumVoids」,out數組); double [] doubleArray =(double [])array;' – PetSerAl

+1

它沒有傳入數組,你通過'out'參數傳出一個數組。沒有必要做一個'new',你會從函數調用中得到'new'。 –

回答

3

只需將它聲明爲System.Array

Array filledVals; 
xyz.getDoubleArray("NumVoids", out filledVals); 

既然是out參數,你並不需要把它初始化,因爲它必須getDoubleArray初始化。

要將其轉換爲double[]您可以使用此:

double[] result = filledVals.OfType<double>().ToArray(); 
3

你可以使用LINQ:

System.Array result;    
xyz.getDoubleArray("NumVoids", out result); 
var filledVals = result.OfType<double>().ToArray();