|
Заблокирован
|
|
Контейнер, похожий на std::vector из C++16.02.2015, 20:30. Показов 3952. Ответов 17
Метки нет (Все метки)
скажите какой в шарпе контейнер наиболее похож на плюсовый вектор? вот вроде List (предчувствую сейчас скажут) он также дает динамическое изменение размера, доступ по индексу и т.п., но все таки ! List - переводится как список, а список это не массив ! элементы располагаются не линейно в памяти и т.п.
0
|
|
| 16.02.2015, 20:30 | |
|
Ответы с готовыми решениями:
17
Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию? |
|
Заблокирован
|
|
| 16.02.2015, 20:48 | |
|
0
|
|
|
Заблокирован
|
||
| 16.02.2015, 20:50 [ТС] | ||
|
0
|
||
|
18 / 18 / 6
Регистрация: 21.12.2011
Сообщений: 72
|
||
| 16.02.2015, 20:55 | ||
|
На самом деле в C# нет чистых массивов как на плюсах. Даже примитивные типы, такие как int или double - это структуры.
Класс List - это удобная обертка, создающая иллюзию динамического массива (там идет работа с обычным массивом, который переопределяется с большей размерностью при необходимости). Добавлено через 2 минуты
0
|
||
|
Заблокирован
|
||||
| 16.02.2015, 20:57 [ТС] | ||||
|
Добавлено через 16 секунд
0
|
||||
|
Заблокирован
|
|||
| 16.02.2015, 21:03 | |||
|
0
|
|||
|
Заблокирован
|
||
| 16.02.2015, 21:06 [ТС] | ||
|
0
|
||
|
|
||
| 16.02.2015, 21:15 | ||
Сообщение было отмечено Feaban как решение
РешениеХотя как на мой взгляд легче просто создать свой класс с Next и Prev.
1
|
||
|
|
|
| 17.02.2015, 12:03 | |
|
0
|
|
|
Master of Orion
|
||
| 17.02.2015, 12:22 | ||
![]() А вот что Queue тоже на массиве не знал, честно говоря. Гораздо логичнее его делать именно на базе двусвязного списка имхо.
0
|
||
|
|
||
| 17.02.2015, 12:29 | ||
|
А очередь легко реализуется на зацикленном массиве. Только увеличивать его иногда нужно конечно. А вот чего не хватает во фреймворке - так это ограниченного стека и ограниченнной очереди.
0
|
||
|
Master of Orion
|
|
| 17.02.2015, 12:39 | |
|
Storm23, зависит от задачи. С другой стороны, никто не мешает написать свою мини-обертку над LinkedList<T> чтобы получить нужную очередь.
меня больше расстраивает тупость с интерфейсами, в частности ICollection<T> и IList<T>. Их нужно разделить на пяток различных, потому что ситуация, когда массив имплементирует IList<T>, но при попыкте вызвать почти любой метод выкидывает исключение, это довольно бредовая ситуация.
0
|
|
|
|
|||||||||||
| 17.02.2015, 12:50 | |||||||||||
|
Да, IList мне тоже не нравится. Из-за того что там слишком много методов нужно реализовать. Причем 90% этих методов никто не вызывает.
Часто нужно сделать свой List (допустим нужны какие то операции при добавлении элементов), но реализовывать IList - лень. И тогда приходится писать либо
0
|
|||||||||||
|
Master of Orion
|
||
| 17.02.2015, 12:58 | ||
|
Storm23, в этом плане в шестом шарпе хорошо - можно делегировать всё к внутреннему свойству (насколько я понял, всю эту писанину void Add(T item) { innerCol.Add(item); } наконец переложили на компилятор). Но тут вот например хорошо расписал парень:
0
|
||
| 17.02.2015, 12:58 | |
|
Помогаю со студенческими работами здесь
18
Ошибка: E2034 Cannot convert 'int' to 'std::vector<std::vector<TRabbitCell,std::allocator<TRabbitCell>>... Как изменять размер std::vector<std::vector>? Вывести значения std::vector<std::vector<int*> > Выделение памяти для вектора std::vector<iris> *v = new std::vector<iris> Std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator> Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|