我有一个数组:
char[,] DataFile=new char[310,6720]
现在我想动态增加DataFile数组中的列数,所以在增加列数之后,它将如下所示:
char[,] DataFile=new char[310,6726]
是否可能,如果是,那么如何?我读到了IsFixedSize
属性,但我不知道如何使用它。
答案 0 :(得分:0)
当您调用new
时,您正在分配新的内存对象,而不是调整现有内存对象的大小。
对于数组,您可以创建一个new
对象,然后将值复制到它,虽然这对于内存和性能来说太糟糕了。我建议您重构代码以使用List<T>
代替。
答案 1 :(得分:0)
上一张海报已经提到使用List,但您甚至可以进一步尝试重新设计。名称“DataFile”表示您正在尝试序列化内存中的某些数据。将数据转换为内存中的另一种格式,然后将其写入磁盘似乎是一个坏主意。你能告诉我们更多你的目标吗? Char的那些细胞代表什么?
答案 2 :(得分:0)
您可以互换行和列,因此您的数组现在为char [6720,310]。然后,只需添加更多行,而不是添加更多列。