|
Труд вопреки насмешкам
|
|||||||||||
Убрать из списка классовых объектов те, в которых string_ равно "abcdefgh"20.02.2019, 21:58. Показов 856. Ответов 12
Метки нет (Все метки)
Есть класс:
0
|
|||||||||||
| 20.02.2019, 21:58 | |
|
Ответы с готовыми решениями:
12
Выполнить путём сдвига вправо все биты, значение которых равно нулю и влево все биты, значение которых равно единице
|
|
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
|
||||||
| 21.02.2019, 01:43 | ||||||
... prophit
0
|
||||||
|
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
|
|
| 21.02.2019, 07:21 | |
|
Etyuhibosecyu,
LINQ это тоже цикл, часто даже не один.Если искать объекты для удаления собираетесь по ключу, то объекты класса MyClass можно затолкать в HashSet<> или Dictionary<>.Если отсев идёт по условию, то ассоциативные коллекции вам не сильный помощник и можно остаться на List<>.Если коллекции огромные, то их перебирать можно в параллель. Вариантов много. От ручного с применением Task.Run до Parallel.For и Parallel.ForEach.Во время перебора коллекции, изменять её нельзя. Придётся или формировать новую из данных, не подпадающих под условия удаления или формировать коллекцию удаляемых элементов, по которой нужно будет снова пройтись, чтобы всё удалить из основной коллекции. Изменять коллекцию одновременно из разных потоков нельзя (точнее, вам никто не запретит, но вы получите некорректное содержимое такой коллекции). Для таких целей нужны или потокобезопасные коллекции или особые приёмы.
1
|
|
|
Alvin Seville
|
||
| 21.02.2019, 08:54 | ||
|
Usaga,
0
|
||
|
Труд вопреки насмешкам
|
||||||
| 21.02.2019, 12:47 [ТС] | ||||||
|
Тема актуальна. Diamante, прочитал про HashSet, не получится. Элементы повторяются и должны быть в строгом порядке. Других способов нет? Я уже даже подсказал про GroupBy() и Select(). Весь вопрос в том, что именно туда вводить. Например, я ввел так:
0
|
||||||
|
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
|
|
| 21.02.2019, 12:51 | |
|
Etyuhibosecyu,
GroupBy вам тут ничем не поможет. Если порядок следования элементов важен, то только List<T> по которому идти в цикле и используя озвученный выше HashSet определять, новый это элемент или уже был. И в зависимости от результат, либо копировать его в новую коллекцию, либо нет.Есть ещё такой LINQ-метод: Distinct(). Делает всё тоже самое, только в одну строку.
0
|
|
|
Труд вопреки насмешкам
|
|
| 21.02.2019, 12:55 [ТС] | |
|
Usaga, а в него что вводить? Причем мне нужно убрать НЕ повторы, а именно ВСЕ вхождения "abcdefgh".
Добавлено через 2 минуты И если можно, дайте ссылку на описание с примерами Where(). Что это вообще за метод, как он работает?
0
|
|
|
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
|
||||||
| 21.02.2019, 13:08 | ||||||
|
Etyuhibosecyu, что в него вводить вы можете увидеть в документации на MSDN.
Если вам нужно убрать все вхождения записей, которые встречаются более одного раза, тогда вам нужно сначала такие записи определить (тут как раз GroupBy подойдёт, с дополнительным условием Count > 1).А потом создать новую коллекцию наложив на старую LINQ-метод Where в котором проверять каждую запись на наличие в полученной выше коллекции дубликатов. Добавлено через 10 минут Etyuhibosecyu, вот возможный вариант решения: Кликните здесь для просмотра всего текста
0
|
||||||
|
Труд вопреки насмешкам
|
||||||
| 21.02.2019, 13:12 [ТС] | ||||||
|
Нет, не вхождения записей, которые встречаются более одного раза, а все вхождения конкретной записи, без разницы, миллион их, одно или ни одного. В шапке указан пример. И все же нашел про Where, сделал так:
0
|
||||||
|
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
|
||
| 21.02.2019, 13:17 | ||
|
Etyuhibosecyu, блин. Неужели так сложно было сразу вменяемо описать задачу?
0
|
||
|
Труд вопреки насмешкам
|
||
| 21.02.2019, 13:21 [ТС] | ||
|
0
|
||
|
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
|
|
| 21.02.2019, 13:23 | |
|
Etyuhibosecyu, нет. Вы могли написать "отфильтровать коллекцию по условию". А вы показали фрагмент кода и два набора данных и предложили угадать, что изменилось.
0
|
|
|
Труд вопреки насмешкам
|
|
| 21.02.2019, 13:24 [ТС] | |
|
Ладно, спасибо за помощь.
0
|
|
| 21.02.2019, 13:24 | |
|
Помогаю со студенческими работами здесь
13
Binding списка объектов из другого списка объектов списка
функция choose(n:byte; c1: string): string возвращает значение из списка Дан массив объектов. Подсчитать количество объектов в массиве, у которых совпадают значения двух полей. Каст классовых типов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|