2012-04-26 34 views
0

我想在c#windows应用程序中使用dll。这个DLL期待一个double [] []参数(超过10000个值)和另一个double []参数。将2维数组double [] []传递给c#windows应用程序

public static double[] CalcResults(double[][] Positions, double[] Values) 

我不太清楚如何在c#类中声明这个变量。 感谢您的帮助。

+1

此DLL是本机DLL还是.NET类库?你试过了什么,发生了什么? – 2012-04-26 18:39:26

+1

我不明白。 double [] []在C#中有效。 – 2012-04-26 18:39:47

+0

我没有多少文件就递给了这个dll。我打开DLL中ILDisassembler,发现头信息是说:元数据版本:V2.0.50727 我收到以下错误消息时,我将值赋给声明为双变量[,]。 最好的重载方法匹配有一些无效参数 参数'1':不能从'double [*,*]'转换为'double [] []' – ARK 2012-04-26 20:21:35

回答

4
double[][] positions = new double[size1][]; 

编辑:更好的是,尝试:

double[,] positions = new double[size1, size2]; 

http://msdn.microsoft.com/en-us/library/2yd9wwz4(v=vs.100).aspx

EDIT2Doing Arrays - C#示出了锯齿状阵列([] [])和常规双之间的差二维数组([,])。

+0

谢谢@zimdanen。你的回答为我提供了重要的起点。 我初始化变量作为 双[] [] =位置新的双[3] []; 职位[0] =新双[5]; 位置[1] =新双[10]; ,它不会抛出更多的错误。 – ARK 2012-04-26 20:40:20