|
|
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
Потихоньку изучаю язык, читаю в сети про коллекции. Из всего прочитанного вырисовывается следующее: Массив - как в с++ - элементы, последовательно располагающиеся в памяти. Типа структуры: struct A{ int a; int b; int c;}. Коллекция - целый класс, с механизмами добавления, удаления, вставки, поиска и т.д., со своими всякими счетчиками. А новые элементы создаются динамически, класс же - вроде оболочки для этих объектов. В uml, кажется, подходящий термин есть - композиция. Внутри коллекции элементы представляют собой указатели на участки кучи, сами же указатели создаются и хранятся во внутренней struct {} коллекции. Механизмы коллекции называют интерфейсами, а у массивов интерфейсов нет. В общем... как вам моя каша? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 13:34 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
И в чём вопрос? Или надо знания покритиковать? Например, обычный массив аналогичен String , а работа с ним - как поэлементное обращение к символам строки. С другой стороны, массивы могут быть даже полностью динамическими, в этом случае организация их происходит так же, как и коллекций, но с тем отличием, что доступ к физической структуре такого массива не вынесен в интерфейс. Также и коллекция может быть организована с последовательным выделением памяти... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 14:08 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
Bananas, коллекция - это седьмая вода на киселе. Абстракция. Предмет которым модно бравировать в дискуссиях и технических заданиях. Ну к примеру колода карт - это явно коллекция. Но без всякой реализации т.к. понять что это массив, список или дек совершенно невозможно. Это вобщем-то даже вопрос философский. Вобщем массив - это самая простая РЕАЛИЗАЦИЯ коллекции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 15:54 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
как это у массивов нет интерфейсов? да полно Код: c# 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 16:35 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
Из первого поста автора видно что он сравнивает массивы со структурой данных без инкапсуляции логики. Что-то типа: int[] A=new int[]{1,2,3}; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 16:39 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
К тому же массив ссылочный тип, а структура - значимый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 16:40 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
На основе неглубоких знаний с++ пытался понять отличие коллекций, думал: типы, относящиеся к массивам (int, float и т.д.) - тупо структуры, а типы, относящиеся к коллекциям -- классы + интерфейсы. А получается, что "коллекция" - обобщенное понятие, а "массив" - какая-либо конкретная реализация этой коллекции, т.е., на самом деле, класс + интерфейсы? Типа как "кухонная посуда" и "чайная чашка". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 17:11 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
Bananasтипы, относящиеся к массивам (int, float и т.д.) - тупо структуры ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 22:49 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBananasтипы, относящиеся к массивам (int, float и т.д.) - тупо структуры ?Это он про паскалевские ordinal types ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 06:36 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
? Шокировал до глубины души? Мое заблуждение на столько глубоко, что разъяснения бесполезны?( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 11:21 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
Bananas, ты пиши не текстами а примерами на сишарпЕ. В противном случае мы уйдем в глубокую диалектическую философию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 11:28 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
mayton, даже не знаю, какие примеры писать - вопрос был "в общем" - просто интересно: коллекции от массивов отличаются только тем, что могут динамически меняться и хранить элементы разных типов? В остальном, массивы также обладают интерфейсами типа IEnumerable и различными внутренними счетчиками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 12:34 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
Bananasmayton, даже не знаю, какие примеры писать - вопрос был "в общем" - просто интересно: коллекции от массивов отличаются только тем , что могут динамически меняться и хранить элементы разных типов ? В остальном, массивы также обладают интерфейсами типа IEnumerable и различными внутренними счетчиками? а массивы не могут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 13:04 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
Bananasmayton, даже не знаю, какие примеры писать - вопрос был "в общем" - просто интересно: коллекции от массивов отличаются только тем, что могут динамически меняться и хранить элементы разных типов? В остальном, массивы также обладают интерфейсами типа IEnumerable и различными внутренними счетчиками? Ты можешь объявить массив указателей (ссылок) на Object. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 13:41 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNа массивы не могут? maytonТы можешь объявить массив указателей (ссылок) на Object. Мой моск не выдерживает... "Массивы являются коллекциями объектов одного типа . Поскольку длина массивов практически не ограничена, они могут использоваться для хранения тысяч или даже миллионов объектов, но размер массива должен быть указан при его создании ." http://msdn.microsoft.com/ru-ru/library/9ct4ey7x%28v=vs.90%29.aspx Теперь остается залезть туда, где описаны типы .net и прочитать то, чего читать не умею: описание класса, например, int и List, чтобы понять разницу..:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 16:24 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
BananasВ общем... как вам моя каша? :) В общем, СРОЧНО читать Кормена (можно еще Вирта, Кнута и Окасаки)! Иначе каша загниет и начнет пахнуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 17:32 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
BananasZyK_BotaNа массивы не могут? maytonТы можешь объявить массив указателей (ссылок) на Object. Мой моск не выдерживает... "Массивы являются коллекциями объектов одного типа . Поскольку длина массивов практически не ограничена, они могут использоваться для хранения тысяч или даже миллионов объектов, но размер массива должен быть указан при его создании ." http://msdn.microsoft.com/ru-ru/library/9ct4ey7x%28v=vs.90%29.aspx Теперь остается залезть туда, где описаны типы .net и прочитать то, чего читать не умею: описание класса, например, int и List, чтобы понять разницу..:( А коллекции являются коллекциями(извините за тавтологию) объектов разных типов? з.ы. не читайте мсдн, его пишут индусы ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 18:07 |
|
||
|
[С#] Идея "Коллекций" и их отличия от массивов.
|
|||
|---|---|---|---|
|
#18+
Bananas Мой моск не выдерживает... "Массивы являются коллекциями объектов одного типа . Поскольку длина массивов практически не ограничена, они могут использоваться для хранения тысяч или даже миллионов объектов, но размер массива должен быть указан при его создании ." http://msdn.microsoft.com/ru-ru/library/9ct4ey7x%28v=vs.90%29.aspx Что здесь непонятного? >> Одного типа. Положи в него Object. И будет ссылка на произвольный объект. >> но размер массива должен быть указан при его создании А сколько тебе нужно? Если ты пишешь код то в 99% случаев знаешь сколько будет лежать в массиве. Или знаешь верхнюю оценку. Если нет - удваивай размер при каждом переполнении. Если не хватило памяти - клади на диск или в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 18:57 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38151701&tid=1341921]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 474ms |

| 0 / 0 |
