2016-07-19 18 views
0

Ich verwende eine Visual Basic-Bibliothek und eine der Methoden, die ich benutze Anrufe für ein System.Array, um in es übergeben werden. Ich habe versucht, "double []" und "Object []" zu verwenden, wenn ich mein Array deklariere, aber diese werden nicht bestehen. Ich bin mir nicht sicher, wie man ein "System.Array" konvertiert/deklariert.Convert double [] in System.array C#

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

'Array Array; xyz.getDoubleArray ("NumVoids", out-Array); double [] doubleArray = (double []) array; ' – PetSerAl

+1

Es wird nicht in einem Array übergeben, Sie erhalten einen out über den Parameter 'out'. Es besteht keine Notwendigkeit, ein "neues" zu tun, Sie erhalten bereits eine "neue" zurück vom Funktionsaufruf. –

Antwort

3

einfach erklären ihn als System.Array:

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

Da es sich um ein out Parameter ist, Sie brauchen es nicht, wie es zu initialisieren muss initialisiert werden durch .

zu wandeln es in einem double[] können Sie verwenden:

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

Sie können LINQ verwenden:

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