powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / [С#] Идея "Коллекций" и их отличия от массивов.
18 сообщений из 18, страница 1 из 1
[С#] Идея "Коллекций" и их отличия от массивов.
    #38149379
Bananas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потихоньку изучаю язык, читаю в сети про коллекции. Из всего прочитанного вырисовывается следующее:
Массив - как в с++ - элементы, последовательно располагающиеся в памяти. Типа структуры: struct A{ int a; int b; int c;}.
Коллекция - целый класс, с механизмами добавления, удаления, вставки, поиска и т.д., со своими всякими счетчиками. А новые элементы создаются динамически, класс же - вроде оболочки для этих объектов. В uml, кажется, подходящий термин есть - композиция. Внутри коллекции элементы представляют собой указатели на участки кучи, сами же указатели создаются и хранятся во внутренней struct {} коллекции. Механизмы коллекции называют интерфейсами, а у массивов интерфейсов нет.
В общем... как вам моя каша? :)
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38149493
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И в чём вопрос? Или надо знания покритиковать?
Например, обычный массив аналогичен String , а работа с ним - как поэлементное обращение к символам строки. С другой стороны, массивы могут быть даже полностью динамическими, в этом случае организация их происходит так же, как и коллекций, но с тем отличием, что доступ к физической структуре такого массива не вынесен в интерфейс.
Также и коллекция может быть организована с последовательным выделением памяти...
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38149766
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bananas, коллекция - это седьмая вода на киселе. Абстракция. Предмет
которым модно бравировать в дискуссиях и технических заданиях.
Ну к примеру колода карт - это явно коллекция. Но без всякой
реализации т.к. понять что это массив, список или дек совершенно
невозможно. Это вобщем-то даже вопрос философский.

Вобщем массив - это самая простая РЕАЛИЗАЦИЯ коллекции.
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38149871
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как это у массивов нет интерфейсов? да полно
Код: c#
1.
2.
public abstract class Array : ICloneable, 
	IList, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38149878
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из первого поста автора видно что он сравнивает массивы со
структурой данных без инкапсуляции логики. Что-то типа:

int[] A=new int[]{1,2,3};
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38149879
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К тому же массив ссылочный тип, а структура - значимый
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38149941
Bananas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На основе неглубоких знаний с++ пытался понять отличие коллекций, думал: типы, относящиеся к массивам (int, float и т.д.) - тупо структуры, а типы, относящиеся к коллекциям -- классы + интерфейсы. А получается, что "коллекция" - обобщенное понятие, а "массив" - какая-либо конкретная реализация этой коллекции, т.е., на самом деле, класс + интерфейсы? Типа как "кухонная посуда" и "чайная чашка".
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38150382
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bananasтипы, относящиеся к массивам (int, float и т.д.) - тупо структуры

?
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38150507
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNBananasтипы, относящиеся к массивам (int, float и т.д.) - тупо структуры
?Это он про паскалевские ordinal types
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38150773
Bananas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?
Шокировал до глубины души? Мое заблуждение на столько глубоко, что разъяснения бесполезны?(
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38150790
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bananas, ты пиши не текстами а примерами на сишарпЕ. В противном
случае мы уйдем в глубокую диалектическую философию.
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38150960
Bananas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, даже не знаю, какие примеры писать - вопрос был "в общем" - просто интересно: коллекции от массивов отличаются только тем, что могут динамически меняться и хранить элементы разных типов? В остальном, массивы также обладают интерфейсами типа IEnumerable и различными внутренними счетчиками?
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38151042
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bananasmayton, даже не знаю, какие примеры писать - вопрос был "в общем" - просто интересно: коллекции от массивов отличаются только тем , что могут динамически меняться и хранить элементы разных типов ? В остальном, массивы также обладают интерфейсами типа IEnumerable и различными внутренними счетчиками?

а массивы не могут?
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38151146
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bananasmayton, даже не знаю, какие примеры писать - вопрос был "в общем" - просто интересно: коллекции от массивов отличаются только тем, что могут динамически меняться и хранить элементы разных типов? В остальном, массивы также обладают интерфейсами типа IEnumerable и различными внутренними счетчиками?
Ты можешь объявить массив указателей (ссылок) на Object.
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38151545
Bananas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNа массивы не могут?

maytonТы можешь объявить массив указателей (ссылок) на Object.

Мой моск не выдерживает...

"Массивы являются коллекциями объектов одного типа . Поскольку длина массивов практически не ограничена, они могут использоваться для хранения тысяч или даже миллионов объектов, но размер массива должен быть указан при его создании ."
http://msdn.microsoft.com/ru-ru/library/9ct4ey7x%28v=vs.90%29.aspx

Теперь остается залезть туда, где описаны типы .net и прочитать то, чего читать не умею: описание класса, например, int и List, чтобы понять разницу..:(
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38151701
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BananasВ общем... как вам моя каша? :)

В общем, СРОЧНО читать Кормена (можно еще Вирта, Кнута и Окасаки)! Иначе каша загниет и начнет пахнуть.
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38151756
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BananasZyK_BotaNа массивы не могут?

maytonТы можешь объявить массив указателей (ссылок) на Object.

Мой моск не выдерживает...

"Массивы являются коллекциями объектов одного типа . Поскольку длина массивов практически не ограничена, они могут использоваться для хранения тысяч или даже миллионов объектов, но размер массива должен быть указан при его создании ."
http://msdn.microsoft.com/ru-ru/library/9ct4ey7x%28v=vs.90%29.aspx

Теперь остается залезть туда, где описаны типы .net и прочитать то, чего читать не умею: описание класса, например, int и List, чтобы понять разницу..:(
А коллекции являются коллекциями(извините за тавтологию) объектов разных типов?

з.ы. не читайте мсдн, его пишут индусы )
...
Рейтинг: 0 / 0
[С#] Идея "Коллекций" и их отличия от массивов.
    #38151834
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bananas
Мой моск не выдерживает...

"Массивы являются коллекциями объектов одного типа . Поскольку длина массивов практически не ограничена, они могут использоваться для хранения тысяч или даже миллионов объектов, но размер массива должен быть указан при его создании ."
http://msdn.microsoft.com/ru-ru/library/9ct4ey7x%28v=vs.90%29.aspx

Что здесь непонятного?

>> Одного типа.

Положи в него Object. И будет ссылка на
произвольный объект.

>> но размер массива должен быть указан при его создании

А сколько тебе нужно? Если ты пишешь код то в 99% случаев
знаешь сколько будет лежать в массиве. Или знаешь верхнюю
оценку. Если нет - удваивай размер при каждом переполнении.
Если не хватило памяти - клади на диск или в БД.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / [С#] Идея "Коллекций" и их отличия от массивов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]