![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
Динамические массивы? Такое есть в .net/C# ?
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: 2 Всего: 2 |
Vit, я тебя прекрасно понимаю, как человека, который переходит с Delphi на C#. Сейчас сами переписываем огромный и слжный проект на C#.
По существу: ArrayList тебе поможет. Добавлено через 40 секунд PS. Дельфийские динамические массивы отдыхают по сравнению с функционалом местных массивов. -------------------- |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
Ну а зачем сравнивать по функционалу массивы и коллекции? Ничего не отдыхает, насколько я понял колелкции C# точно такие же по функциональности как и в Дельфи... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
В дельфи массивы тоже статические, при ресайзе память перевыделяется. В шарпе есть аналогичный Array.Resize .
-------------------- ![]() |
|||
|
||||
| emmanuil |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 9.1.2007 Репутация: нет Всего: 3 |
А в C# вообще нет статических массивов. Все масивы динамические и память для них распределяется в куче. А абстрактный класс Array имеет методы для работы с массивоми. Жаль что Resize только для одномерных.
Есть еще такие прекрасные массивы как массивы массивов, изрезаные. object[,] ar - двумерный object[][] массив массивов |
|||
|
||||
| adLucem |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 17.4.2007 Где: Украина, Донецк Репутация: 4 Всего: 5 |
Статические массивы могут организовываются в стеках с использованием stackalloc (однако это небезопасное средство предназначенное для оптимизации). Информация по различным видам коллекций в С# - MSDN- System.Collections namespace |
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Разве int[] выделиться в куче? -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| emmanuil |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 9.1.2007 Репутация: нет Всего: 3 |
статические массивы, скорее исключение, а правилом является использование динамических массивов. в C# массивы относятся к ссылочным типам. И не обязатально нужно знать размер во время компиляци. Память под него всеравно выделяется в куче, из каких элементов массив бы не состоял. Инициализировать можно по-разному: int[] i = {1, 2, 3} int[] i = new int[4]; а можно отложить - int[] i; |
|||
|
||||
| Gelis |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 26.10.2006 Где: Брест Репутация: 2 Всего: 4 |
||||
|
||||
| kven |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 5.12.2007 Репутация: 1 Всего: 1 |
Чем хуже ArrayList от List?
|
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
хотя бы отсутствием типизации
плюс, как было уже выше написано, все элементы преобразуются в object |
|||
|
||||
| kven |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 5.12.2007 Репутация: 1 Всего: 1 |
Существует ли реализация дерева?
И возможно ли удаление элементов в коллекции за O(1), а не O(n)? |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
я в игноре? =)
Dictionary чем не устраивает? невизуальных деревьев вроде бы (пните, если что) нет да и было бы там что-то вроде
|
|||
|
||||
| kven |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 5.12.2007 Репутация: 1 Всего: 1 |
Dictionary тоже идёт с нумератором приудалении из середины или если из начала, происходит переиндексирование. Может я не так понимаю. Могу ошибаться. Объясни подробней. кстати насчёт деревьев нашёл статьи
http://msdn2.microsoft.com/en-us/library/ms379573.aspx http://msdn2.microsoft.com/en-us/library/ms379574.aspx http://msdn2.microsoft.com/en-us/library/ms379572.aspx там что то описано интересное сейчас буду разбираться. |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
Dictionary хитрый, на его внутреннюю переиндескацию можешь не обращать внимания, она происходит весьма быстро и не зависит от числа объектов.
Единственное ограничение для его использования - это уникальность ключей. Ну и он сам по себе тяжеле простого списка, что в большинстве случаев не критично. |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 63 Всего: 170 |
-------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| kven |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 5.12.2007 Репутация: 1 Всего: 1 |
уникальность ключей для реаемой мной задачи вполне нормальна даже то что надо.
А если взять List<T> в нём внутрення переиндексация зависит от количества элементов, или это распространяется для всех типов коллекций? |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |