2013-05-29 3 views
0

У меня есть массив:Добавить дополнительный столбец в 2D массив

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

Теперь я хочу, чтобы увеличить количество столбцов в массиве DataFile динамически, поэтому после увеличения числа столбцов будет выглядеть следующим образом:

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

Возможно ли, и если да, то как? Я читал о свойстве IsFixedSize, но я не знаю, как его использовать.

+0

Этот код недействителен. Кроме того, вам действительно стоит подумать об использовании «списка » или что-то, если вы хотите динамический размер –

+0

Теперь это прекрасно. –

ответ

0

Когда вы вызываете new, вы назначаете новый объект памяти, вы не изменяете размер существующего.

В случае массивов вы можете создать объект new, а затем скопировать значения в него, хотя это ужасно для памяти и производительности. Я бы рекомендовал вам код рефакторинга вместо List<T>.

0

Предыдущий плакат уже упоминался с помощью List, но вы можете пойти дальше и попытаться перепроектировать. Имя «DataFile» предполагает, что вы пытаетесь сериализовать некоторые данные, находящиеся в памяти. Кажется, плохая идея довести данные в другой формат в памяти, чтобы записать их на диск. Не могли бы вы рассказать нам больше о своей цели? Что представляют собой эти клетки Шар?

0

Вы можете обменивать строки и столбцы, поэтому ваш массив теперь char [6720,310]. Затем вместо добавления нескольких столбцов просто добавьте еще несколько строк.

Смежные вопросы