Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как увеличить размер массива, не удаляя его элемен, Вроде просто. 
:(
    Опции темы
neutrino
Дата 19.10.2003, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



Приветствую!

Вот че за хрень?! Раньше в С была такая функция Realloc(), которая копировала старые элементы в новый массив. А что делать с этим GC confused.gif
Единственное что нашел - это класс, который работает с кучей. Но хотелось бы чего-нибудь под .NET. Язык - С#.

Спасибо.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
neutrino
Дата 19.10.2003, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



Скорее вопрос не в том, чтобы создать новый массив и переписать в него элементы из старого, а в том как просто добавить сроку к массиву строк в том же TextBox. Как в Delphi было:

Memo1.Lines.Add("Like this!");


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
stab
Дата 20.10.2003, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 22
Всего: 48



Код

using System.Collections;

...

ArrayList list = new ArrayList();
list.Add("string");
Text = (string) list[0]; // проблема, надо приводить типы



--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
stab
Дата 20.10.2003, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 22
Всего: 48



если надо именно строки, то System.Collections.Specialized.StringCollection


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
neutrino
Дата 20.10.2003, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



Ни первый вариант ни второй не пошел.
Проблема все таки в том, что я не могу задать для массива строк значения. В саму коллекцию (и простую и строк) все записывается. Но в массив строк - нет. Даже, если я делаю typecast. Может быть надо как-то память выделять? Вот код:

Цитата

  protected void TranslateToProgramm()
  {
   int Idx=0;
   Code=new StringCollection();
   ParseBranch(StartBlock, 1);
   CodeEditor.Lines=new string[Code.Count];
   foreach (string S in Code)
   {
    CodeEditor.Lines[Idx++]=(string)S;
   }
   //Code.CopyTo(0, CodeEditor.Lines, 0, Code.Count);
  }




--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
neutrino
Дата 20.10.2003, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



И зачем делать приведение типов, когда переменная S все равно типа string?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
neutrino
Дата 20.10.2003, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



Такое ощущение, что не туда ответ написал. Извиняюсь. Я думаю, лучше обсуждение вести в соседней теме - http://forum.vingrad.ru/index.php?act=ST&f...st=0#entry89290.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
stab
Дата 20.10.2003, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 22
Всего: 48



Цитата
И зачем делать приведение типов, когда переменная S все равно типа string?

Я говорил про ArrayList.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
altarasjuk
Дата 22.10.2003, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 7.5.2003
Где: Харьков

Репутация: нет
Всего: 1



Есля я правильно понял суть вопроса, то никак (во всяком случае с массивами такое не должно прокатить). Есть только один вариант:
1. Создаём массив на 1 эл-т.
2. Добавляем эл-ты пока не закончится "место" в массиве
3. Создаём новый массив длиной в <длина старого>*2
4. Идём к п. 2.

И кстати, по поводу коллекций:
Так уж сложилось, что типизированные коллекции появятся в новой джаве, а остальным - придётся подождать. Так что я бы на твоём месте мирился с тем, что надо приводить типы smile.gif


--------------------
Правда - изобретение маньяков: колет глаза и режет уши.
PM MAIL ICQ   Вверх
stab
Дата 23.10.2003, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 22
Всего: 48



а в следующей версии C# появятся шаблоны, типа STL, и то ж можно будет делать типизированные коллекции. smile.gif ждемс


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
neutrino
Дата 23.10.2003, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



А когда она будет?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
stab
Дата 23.10.2003, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 22
Всего: 48



хз, где-то 2004-2005 год


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0952 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.