我对C#中的交错数组有一个疑问,当我在互联网上读到关于Jagged的文章时,我认为C#中2d交错数组的内存分配与C++中2d数组的内存分配是一样的,因为2d交错数组有一个指针数组,每个指针都引用一个元素数组(例如整数元素)--我的意思是在C++中,数组的内存分配如下:for (int i = 0; i <
我有一个返回2D数组数据的C# data服务。因为我们不能让webservices返回多维数据,所以我让它返回一个锯齿数组。[OperationContract]我有一个COM可见的C#类库。这是一个使用此服务并按原样提供给Excel VBA客户端的薄层。Dim data as Variant我得到一个类型不匹配错误。
当我更改包装器类以将Wh
我环顾四周,大家的共识似乎是,即使多维数组应该更快,但它们的底层实现效率很低,所以只需使用交错数组即可。我对它进行了详细分析,而且确实,锯齿状阵列的速度快了50%。很好。不过,我也尝试过手工索引(如模拟多维数组的行为,只需执行如下操作:object value = array[i * 24 + j]; (where 24 is an array size)并通过带有乘法的一维数组访问它以模拟多维数组令人惊讶的是,这也比锯齿状数组快约1