0

我有一个数组:

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

现在我想动态增加 DataFile 数组中的列数,所以在增加列数后它看起来像:

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

有可能吗,如果是,那怎么办?我阅读了有关该IsFixedSize属性的信息,但我不知道如何使用它。

4

3 回答 3

0

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

于 2013-05-29T09:36:42.503 回答
0

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

在数组的情况下,您可以创建一个new对象,然后将值复制到它,尽管这对内存和性能来说很糟糕。我建议您重构代码以List<T>改用它。

于 2013-05-29T09:15:44.213 回答
0

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

于 2013-05-29T09:30:49.703 回答