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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамические массивы? Такое есть в .net/C# ? 
:(
    Опции темы
Vit
Дата 28.4.2007, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
iddqd
Дата 28.4.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

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



Vit, я тебя прекрасно понимаю, как человека, который переходит с Delphi на C#. Сейчас сами переписываем огромный и слжный проект на C#.
По существу: ArrayList тебе поможет.

Добавлено через 40 секунд
PS. Дельфийские динамические массивы отдыхают по сравнению с функционалом местных массивов.


--------------------
PM MAIL   Вверх
Vit
Дата 28.4.2007, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


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

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



Цитата(iddqd @  28.4.2007,  08:09 Найти цитируемый пост)
PS. Дельфийские динамические массивы отдыхают по сравнению с функционалом местных массивов. 



Ну а зачем сравнивать по функционалу массивы и коллекции? Ничего не отдыхает, насколько я понял колелкции 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
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 29.4.2007, 08:46 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


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

Репутация: 110
Всего: 232



В дельфи массивы тоже статические, при ресайзе память перевыделяется. В шарпе есть аналогичный Array.Resize .


--------------------
user posted image
PM MAIL WWW   Вверх
emmanuil
Дата 3.5.2007, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

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



А в C# вообще нет статических массивов. Все масивы динамические и память для них распределяется в куче. А абстрактный класс Array имеет методы для работы с массивоми. Жаль что Resize только для одномерных.
Есть еще такие прекрасные массивы как массивы массивов, изрезаные.
object[,] ar - двумерный
object[][] массив массивов 

PM MAIL   Вверх
adLucem
Дата 3.5.2007, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 17.4.2007
Где: Украина, Донецк

Репутация: 4
Всего: 5



Цитата(emmanuil @  3.5.2007,  06:56 Найти цитируемый пост)
А в C# вообще нет статических массивов
 
Статические массивы могут организовываются в стеках с использованием stackalloc (однако это небезопасное средство предназначенное для оптимизации).

Информация по различным видам коллекций в С# - MSDN- System.Collections namespace
PM MAIL ICQ   Вверх
archeg
Дата 3.5.2007, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 11
Всего: 27



Цитата(emmanuil @ 3.5.2007,  08:56)
А в C# вообще нет статических массивов. Все масивы динамические и память для них распределяется в куче. А абстрактный класс Array имеет методы для работы с массивоми. Жаль что Resize только для одномерных.
Есть еще такие прекрасные массивы как массивы массивов, изрезаные.
object[,] ar - двумерный
object[][] массив массивов

Разве int[] выделиться в куче? smile Масив ссылочных типов - понятно, а valueble?


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
emmanuil
Дата 3.5.2007, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

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



Цитата(adLucem @  3.5.2007,  08:31 Найти цитируемый пост)
Статические массивы могут организовываются в стеках с использованием stackalloc (однако это небезопасное средство предназначенное для оптимизации).

статические массивы, скорее исключение, а правилом является использование динамических массивов.

в C# массивы относятся к ссылочным типам. И не обязатально нужно знать размер во время компиляци. Память под него всеравно выделяется в куче, из каких элементов массив бы не состоял. Инициализировать можно по-разному:

int[] i = {1, 2, 3}
int[] i = new int[4];
а можно отложить - int[] i;


PM MAIL   Вверх
Gelis
Дата 3.5.2007, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 2
Всего: 4



Цитата(iddqd @  28.4.2007,  17:09 Найти цитируемый пост)
По существу: ArrayList тебе поможет.

А чтобы небыло  упаковки и распаковки лучше использовать List<T>
PM MAIL   Вверх
kven
Дата 5.12.2007, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 5.12.2007

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



Чем хуже ArrayList от List?
PM MAIL   Вверх
mihryak
Дата 5.12.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 19
Всего: 36



хотя бы отсутствием типизации
плюс, как было уже выше написано, все элементы преобразуются в object
PM MAIL ICQ   Вверх
kven
Дата 5.12.2007, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 5.12.2007

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



Существует ли реализация дерева?
И возможно ли удаление элементов в коллекции за O(1), а не O(n)?
PM MAIL   Вверх
mihryak
Дата 5.12.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 19
Всего: 36



я в игноре? =)
Dictionary чем не устраивает?

невизуальных деревьев вроде бы (пните, если что) нет
да и было бы там что-то вроде
Код

    interface TreeItem
    {
        IEnumerable<TreeItem> ChildItems
        { get;}
    }

PM MAIL ICQ   Вверх
kven
Дата 5.12.2007, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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
там что то описано интересное сейчас буду разбираться.
PM MAIL   Вверх
mihryak
Дата 5.12.2007, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 19
Всего: 36



Dictionary хитрый, на его внутреннюю переиндескацию можешь не обращать внимания, она происходит весьма быстро и не зависит от числа объектов.
Единственное ограничение для его использования - это уникальность ключей.
Ну и он сам по себе тяжеле простого списка, что в большинстве случаев не критично.
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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