|
|
||||||
Создание и работа в C# с динамическими массивами25.01.2018, 12:13. Показов 1575. Ответов 16
Метки нет (Все метки)
Работаю с VBA
там есть возможность переопределять размер массива Например
следующей строкой определил размерность массива, далее переопределил размерность массива с учетом увеличения второй размерности на единичку. Последняя команда используется мной в цикле при появлении данных, которые требуется включить в общий цикл обработки. Понимаю, что это жестоко по отношению к компу, но я в большинстве случаев не знаю какой размер массива заказывать при первичном определении размерности массива. Вопрос: есть ли такие возможности работы с массивами в C#?
0
|
||||||
| 25.01.2018, 12:13 | |
|
Ответы с готовыми решениями:
16
Работа с динамическими массивами Работа с динамическими массивами Работа с динамическими массивами |
|
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
|
|
| 25.01.2018, 12:30 | |
|
Увы, согласно документации на MSDN, Redim Preserve не изменяет размер массива, а создает новый с нужным размером и копирует туда данные из старого.
В с# то же самое можно сделать с помощью статической функции Array.Resize.
1
|
|
|
Фрилансер
761 / 458 / 146
Регистрация: 06.01.2017
Сообщений: 4,856
|
|
| 25.01.2018, 12:50 | |
|
1
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 25.01.2018, 12:51 | |
|
AndreA SN, Используйте динамические коллекции, например List<T>.
1
|
|
|
Фрилансер
761 / 458 / 146
Регистрация: 06.01.2017
Сообщений: 4,856
|
||
| 25.01.2018, 18:25 | ||
|
Фильтрация выборки и проекция
1
|
||
|
|
|
| 25.01.2018, 22:49 [ТС] | |
|
А скорость выборки из коллекции в 30-50 тысяч строк какая будет? Примерно: миллисекунды, секунды, минуты, годы?
Добавлено через 15 минут Ребята. чесслово, мне не лень поэкспериментировать. Но хочется знать чего ожидать. И еще. Я оперирую таблицами примерно 50 столбцов на 50-100 тыс строк при фильтрации. Вот в ключе этого объема как фильтр будет себя чувствовать: красиво или крошево?
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
||
| 25.01.2018, 23:38 | ||
|
AndreA SN, ну вот и таблицы появились откуда-то. Что в вашем контексте такое - таблица?
Добавлено через 2 минуты
0
|
||
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
| 25.01.2018, 23:40 | |
|
с фильтром всё будет хорошо, в пределах сотен миллисекунд
скорей всего тормоза будут совсем в другом месте, например при выводе в интерфейс - 50к записей это серьезный объем но может стандартные компоненты и справятся втихаря хитрыми механизмами вроде виртуализации, смотря что/где/как
0
|
|
|
|
||
| 26.01.2018, 13:49 [ТС] | ||
|
Действительно речь идет об анализе таблицы, содержащей инфу строкового типа. Причем не по строкам, а всю таблицу разом нужно анализировать. Не стоит иронизировать над килограммами моего моцка, способного "разом постичь 50 тыс строк". На то разработана методика, позволяющая пошагово отфильтровывать нужные данные. Как показывает личный опыт - на анализ 35000 строк нужно от 15 минут до 5 часов в зависимости от детализации проверяемых данных. Всё уже реализовано в VBA. На данный момент меня не устраивает быстродействие. Поэтому рассматриваю вопрос реализации всего комплекса задач в шарпее. Пока собираю инфу, консультируюсь с вами, экспериментирую с маленькими табличками, отсеиваю устаревшие ветки кода VBA. В общем кайфую над хорошо и в полном объеме поставленной задачей. Во всём этом есть хорошая для вас новость - у меня уже в разы меньше тупых вопросов... и плохая новость - они есть. Заранее благодарен за понимание.
0
|
||
|
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
| 26.01.2018, 14:01 | |
|
AndreA SN, а что хранит в себе Ваш массив? и хоть какой пример фильтрации есть? возможно Вам подойдёт что-то на примере HashTable, где данные сортировать/искать будет быстрее, но всё зависит от того что хранить в каком формате и т.д
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
||||||
| 26.01.2018, 14:02 | ||||||
|
AndreA SN, На мой взгляд - самая долгая процедура будет - загрузка информации из Excel в модель данных. Причём, желательно так, чтобы модель данных оперировала со строками только там, где это действительно строка (имеется в виду тип данных, а не строка таблицы).
После формирования модели - пресловутая коллекция каких-то объектов, академический например: Таблица ексел "Люди" со столбцами: имя, дата рождения, пол. Каждая запись такой таблицы должна быть преобразована в объект класса Person (любимый учебными заведениями) со свойствами:
List<TPerson> Persons содержащий все записи таблицы. List удобен, если мы хотим с ним динамически работать - добавлять/удалять элементы. Если нам надо просто загрузить из внешнего файла и как-то проанализировать - лучше всё-таки массив TPerson[] Persons.Бытует мнение, что для работы с данными (аналитика и пр.) лучше использовать функциональные языки типа F#.
0
|
||||||
|
|
||
| 26.01.2018, 14:02 | ||
|
А вообще, для общего ознакомления https://metanit.com/sharp/tutorial/4.1.php https://metanit.com/sharp/tutorial/15.1.php еще бьі почитал про HashSet<T>
0
|
||
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 26.01.2018, 14:03 | |
|
0
|
|
|
|
|
| 26.01.2018, 21:10 [ТС] | |
|
всё верно - прямо в Excel анализ провожу.
Я попробую покопаться. А для визуализации содержимого массива/коллекции что подходит лучше всего? Нужно по ходу визуализировать 22 столбца тех данных, которые отобраны. в строках это варьирует от 2 до 2000 и более. В среднем 3-20 строк. Почему задаю этот вопрос здесь - полагаю, визуализация сильно зависит от выбора способа обработки данных
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|||
| 26.01.2018, 21:27 | |||
|
1
|
|||
| 26.01.2018, 21:27 | |
|
Помогаю со студенческими работами здесь
17
Работа с динамическими массивами
Работа с динамическими массивами Работа с динамическими массивами работа с динамическими массивами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|