我正在尝试重构一些严重依赖多维数组的旧代码。当我需要读取大量数据时遇到问题。我已经发现我应该改用泛型集合。但我只能找到简单数组的样本。
这是清除的部分代码:
// Declare:
private double[,] cpoints;
// Init:
this.cpoints = new double[this.Np, 3];
// Writing:
this.cpoints[indx, 0] = x;
this.cpoints[indx, 1] = y;
this.cpoints[indx, 2] = z;
// Reading:
double dx = this.cpoints[0, 0] - this.cpoints[1, 0];
数组的第一维可能非常大。由于我的搜索,我认为我需要一个字典中的列表,但我做错了。
谁能指出我正确的方向?有些样品真的很棒。
顺便提一句。我正在使用 VS2008 和 .NETv3.5
编辑:
该代码是 MapWindow 开源 GIS 应用程序 (www.mapwindow.org) 的 Kriging 实现的一部分。这个插件在少量点的情况下可以正常工作,但在大量点时我们会遇到内存问题。数组可以容纳的最大大小是多少?我读到使用 List 更好,所以我正在尝试重构代码,以便它可以处理更多点。达米特的回答似乎很好。我会试试的。该代码有更多的多维度数组。我也需要看看那些。很可能我稍后会问一些关于它们的问题;)
谢谢。