|
|
||||||
.NET 4.x Непонятка с LINQ и поиском по List<T>28.11.2017, 21:28. Показов 4449. Ответов 70
Метки нет (Все метки)
(условие не выполнено без выброса исключений или ещё чего)Добавлено через 1 минуту Интересует логика программиста, создавшего Any()
0
|
||||||
| 28.11.2017, 21:28 | |
|
Ответы с готовыми решениями:
70
Linq преобразование List<List<double>> в List<Array> Непонятка наследования интерфейсов в list Работа с List<> , linq и БД |
|
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
|
|
| 28.11.2017, 22:37 | |
|
skilllab, у вас же лист пустой. Там в принципе не может быть элементов, удовлетворяющих какому-либо условию.
0
|
|
|
|
||
| 28.11.2017, 22:58 [ТС] | ||
|
Lexeq, он НЕ null. Нет исключения.
Нет элементов, знач нет и совпадений по условию != Так? Т.е. выражение логически выполненоДобавлено через 9 минут Ну а если копнуть глубже. https://msdn.microsoft.com/ru-... s.90).aspx
На крайняк какой нить эксепшн, что переборка идёт в пустой коллекции. Знач как выход за границу массива - то сразу орать OutOfRange, а как переборкой пройтись по тому чего нет, так сразу false и хрен с ним. Мгммммм...
0
|
||
|
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
|
|
| 28.11.2017, 23:01 | |
|
skilllab, у вас условие
t => t.HaveRoots != oneTree.HaveRoots, в листе нет элементов, удовлетворяющих этому условию, следовательно Any(Func) возвращает false.Добавлено через 2 минуты Кстати, в этом случае вот эта ссылка правильнее https://msdn.microsoft.com/ru-... .110).aspx
0
|
|
|
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
|
||
| 28.11.2017, 23:07 | ||
|
0
|
||
|
|
||||||||
| 28.11.2017, 23:16 [ТС] | ||||||||
|
Если бы я был очень гуглоподкованным)) то мог бы найти исходники этого дела и там "ознакомиться" почему так. Но я не такой
![]() Добавлено через 1 минуту Зайдём к основам
), моя суперпрограмма с деревьями свалится на блоке if().Ну так и чем же таким выдающимся Any() заслужил проход проверки?
0
|
||||||||
|
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
|
||||||||
| 28.11.2017, 23:18 | ||||||||
Сообщение было отмечено skilllab как решение
Решение
можно еще рефлектором или ILSpy-ем смотреть исходники.
1
|
||||||||
|
|
|||||||||||||||||||||||||
| 29.11.2017, 00:27 [ТС] | |||||||||||||||||||||||||
foreach и List<T>
Any() идёт приведение обобщения, и типа null элемент из списка List<T> пытается получить мой t.HaveRoots.Добавлено через 16 минут С другой стороны есть придирка по работе Any() c List<T>Если учесть
А значит, если б там был null - выкинуло бы исключение. Как пример с массивом выше. Про перебор мне абсолютно понятно и всё логично. Но в случае с Any() как то хитрО всё придумано. ![]() С перебором и Count мне абсолютно понятен подход. Но с точки зрения конечного пользователя, для меня неочевидно что в некоторых случаях мне надо делать доп проверку:
Добавлено через 6 минут Крутяк)))
Добавлено через 4 минуты Стоп-стоп-стоп)))
0
|
|||||||||||||||||||||||||
|
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
|
||
| 29.11.2017, 00:32 | ||
|
если лист пуст, есть удовлетворяющий? оно и логично
0
|
||
|
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
|
|
| 29.11.2017, 00:43 | |
|
ну так дело за малым, устраивайся работать архитектором в Microsoft, и справляй
![]() кмк, НЕ реагирование на пустую входную коллекцию есть бонус, нежели косяк... программист пишет код, и должен понимать что, как и зачем он пишет... З.Ы. если бы так же учили хирургов - про твою ошибку тебе сообщат из морга, но это нормально
0
|
|
|
|
||
| 29.11.2017, 00:56 [ТС] | ||
0
|
||
|
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
|
|||||||
| 29.11.2017, 00:58 | |||||||
0
|
|||||||
|
14310 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,413
|
|||
| 29.11.2017, 06:41 | |||
|
Добавлено через 25 минут
0
|
|||
|
|
|||||
| 29.11.2017, 13:19 [ТС] | |||||
![]() Добавлено через 7 минут Какой будет результат выборки из ничего путём выбора из этого ничего и сравнения с чем-то? Как ранее написали:
0
|
|||||
|
14310 / 9391 / 1355
Регистрация: 21.01.2016
Сообщений: 35,413
|
||
| 29.11.2017, 13:27 | ||
|
0
|
||
|
|
|||
| 29.11.2017, 13:30 [ТС] | |||
|
Результат поиска Василича был верен - ключа нет. Но Василич провёл нелогичное действие, он полез в заведомо известный пустой ящик. Дальше: - Василич, вот тебе ключ на 20. Открой верхний пустой ящик, И ЕСЛИ ТАМ НЕТ ПОХОЖЕГО на ключ на 20, то положи его туда. Ибо там у нас лежат все ключи на 20. Вопрос знатокам: что сделает Василич?
0
|
|||
| 29.11.2017, 13:30 | |
|
Помогаю со студенческими работами здесь
20
Как значения LINQ поместить в List
Запрос LINQ к List, как выбрать определенный элемент из списка LINQ при привязке List<string[]> к DataGrid.DataContext через IBindingList Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор под наименованию группы (на. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
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),. . .
|