与使用通用列表的数组相比,这个代码的等效代码是什么?

时间:2012-12-07 12:40:01

标签: c# arrays list multidimensional-array

我在翻译这段代码时遇到问题:    float [,] varname;

使用List<>

基本上我想要一种用这种设置创建二维通用列表的方法

2 个答案:

答案 0 :(得分:3)

你必须写:

List<List<float>> list;

请注意,在这种情况下,每个外部列表可以具有不同大小的内部列表,与数组不同。内部列表也可以是null

初始化使用:

List<List<float>> f = new List<List<float>>();
f.Add(new List<float>());
//add other lists

答案 1 :(得分:0)

我不知道2D列表实现,但您可以通过“锯齿状”列表(即列表列表)实现某种类似的行为:

List<List<float>> varname;

它带来了一些问题,例如varname[n]可能为null,或者varname[n][m]可能m超出某些数组的范围等等。您将不得不写一些更复杂的访问者来处理这些状态。即使初始化也有点复杂。

如果使用数组没有概念上的问题,我会坚持使用数组。