数组、数组列表或列表列表
本文关键字:列表 数组 | 更新日期: 2023-09-27 18:15:39
我本来打算使用一个标准数组,我需要它是x行数和2列
double[,] members = new double[x, 2];
循环遍历我返回的所有结果,然后将它们添加到数组中,但由于结果的数量可能会改变,我不想预先定义数组的大小。。。
members[0, 0] = cost;
members[x, 1] = tax;
x++;
我想调整数组的大小,但只使用arraylist或列表列表会更容易吗?
我会有一个某种类型的列表,其中该类型有成本和税收。
如果空间是一个溢价,它可以是一个有两个双精度的结构(顺便说一句,decimal会更合适吗?对于金钱来说,它几乎总是一个更好的选择(,但如果是这样:使其不可变。
例如:
public struct YourType {
private readonly decimal cost, tax;
public decimal Cost { get { return cost; } }
public decimal Tax { get { return tax; } }
public YourType(decimal cost, decimal tax) {
this.cost = cost;
this.tax = tax;
}
}
带有:
List<YourType> list = new List<YourType>();
也许第二维度中的项数是固定的,或者至少是可预测的,所以如果您使用的是Microsoft.NET Framework 4.0,您可以使用元组列表:
List<Tuple<double, double>> list = new List<Tuple<int, int>>();
// In your loop...
list.Add(Tuple.Create(cost, tax));
// ... later when retrieving some tuple...
int item0cost = list[0].Item1;
int item0tax = list[0].Item2;
您总是可以实现某种具有Cost和Tax属性的值对象类,但使用元组可以像我在代码示例中展示的那样简单地实现。
您应该使用List<List<int>>
。
使用List<T>
。
来自msdn:
ArrayList已被
List<T>
取代,后者速度更快,具有更多功能。
T
可以是List<double>
或double[2]
或struct
或2-元组。。。但正如Marc所说,如果嵌套的List
注定总是有两个项,那么使用List<List<double>>
就太过分了。