向2D阵列添加额外的列

时间:2013-05-29 09:09:40

标签: c# multidimensional-array

我有一个数组:

char[,] DataFile=new char[310,6720]

现在我想动态增加DataFile数组中的列数,所以在增加列数之后,它将如下所示:

char[,] DataFile=new char[310,6726]

是否可能,如果是,那么如何?我读到了IsFixedSize属性,但我不知道如何使用它。

3 个答案:

答案 0 :(得分:0)

当您调用new时,您正在分配新的内存对象,而不是调整现有内存对象的大小。

对于数组,您可以创建一个new对象,然后将值复制到它,虽然这对于内存和性能来说太糟糕了。我建议您重构代码以使用List<T>代替。

答案 1 :(得分:0)

上一张海报已经提到使用List,但您甚至可以进一步尝试重新设计。名称“DataFile”表示您正在尝试序列化内存中的某些数据。将数据转换为内存中的另一种格式,然后将其写入磁盘似乎是一个坏主意。你能告诉我们更多你的目标吗? Char的那些细胞代表什么?

答案 2 :(得分:0)

您可以互换行和列,因此您的数组现在为char [6720,310]。然后,只需添加更多行,而不是添加更多列。