vb.net удалит строку в двумерном массиве - PullRequest
2 голосов
/ 23 июня 2010

В vb.net как удалить строку в двумерном массиве?

Ответы [ 2 ]

1 голос
/ 23 июня 2010

Если вам нужно удалить элементы из массива, вам, вероятно, не следует использовать массив, но следует использовать какой-то список (List(Of List(Of String)) или что-то в этом роде.

Если вы действительно хотите придерживаться массива, на этой странице описано два различных решения: одно медленное смещение всего вручную и одно более быстрое копирование памяти. Образцы предназначены для одномерных массивов, но их довольно легко адаптировать.

0 голосов
/ 23 июня 2010

Если это последняя строка, которую вы хотите удалить, и вы используете второе измерение для представления строк, вы можете использовать ReDim с опцией сохранения, например, так:

Dim myArray(2,1)
ReDim Preserve myArray(2, 2)

Предупреждение: Предлагаю вам ознакомиться с этой статьей, прежде чем использовать приведенный выше пример: Производительность Redim Preserve Trap

Если вам нужно удалить строку в середине, вам придется сместитьсначала все вниз по строке, затем усекаем последнее измерение массива.

Это в сочетании с необходимостью перенести ваше представление о строках во второе измерение, вероятно, делает его более трудным, чем оно того стоит.Скорее всего, вы используете неправильный тип в первую очередь, если вам нужно произвольно удалить подобные элементы.Традиционные массивы (особенно многомерные) действительно лучше всего использовать для наборов данных фиксированного размера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...