我有一个看起来像(或多或少)的代码:
public void INeedHolidaysNow(double[,]){
//... Code to take a break from coding and fly to Hawaii
}
double[][] WageLossPerVacationDay = new double[10][5];
INeedHolidays(WageLossPerVacationDay); // >>throws the Exception in the Title
Run Code Online (Sandbox Code Playgroud)
我在这篇文章中找到了解决方案,其中包括循环而不是尝试野蛮演员
所以我的问题是:为什么?在内存分配的幕后发生了什么,阻止了看起来似乎 - 至少乍一看,是一个可行的演员?我的意思是在结构上,这两种表达方式似乎都很相似.我在这里失踪的是什么?
编辑:我必须使用"double [] []",因为它是由外部库提供的.
Cod*_*aos 10
一个是锯齿状阵列,另一个是大块.
double[][]是一个包含double数组的数组.它的形状不一定是矩形的.用c表示它类似于adouble**
double[,]只是一大块内存,它总是矩形的.用c表示它只是一个双*myArray[x+y*width]用于访问元素.
| 归档时间: |
|
| 查看次数: |
1906 次 |
| 最近记录: |