Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Массив объектов


Автор: Kiska91 27.12.2007, 22:35
Здраствуйте.
Как можно из массива удалить элементы
массив 
int masiv[111];
сделать так что-бы он стал меньшего размера?
заранее всем спасибо

Автор: bogys 27.12.2007, 22:56
походу – никак 
Можно создать  еще 1 массив такого же размера и в него переслать все  кроме удаляемого элемента, или же  использовать ArrayList

Автор: Kiska91 27.12.2007, 23:06
мне еще сказали что можно лишние элементы записывать в конец массива, так можно делать?

Автор: bogys 27.12.2007, 23:22
Цитата(Kiska91 @ 27.12.2007,  23:06)
мне еще сказали что можно лишние элементы записывать в конец массива, так можно делать?

Можно,  но от этого массив меньше не станит. И скорее не «записывать в конец», а обменять местами  с последним элементом.  
И при  уменьшении  счетчика цикла на 1,  будет  «иллюзия» удаления,  но сам значение   и занимаемая им память  останется в массиве

Автор: tol05 28.12.2007, 00:09
можно использовать метод http://msdn2.microsoft.com/en-us/library/bb348051.aspx
выглядеть будет конечно круто, но ... на уровне системы все равно всегда создается новый массив вместо старого (того, который мы буд-то бы resiz-им)

Автор: Kiska91 28.12.2007, 20:11
спасибо, я знаю про ArrayList но преподу надо именно так ((

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)