2012-04-26 72 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