У меня есть набор объектов модели, у которых есть общедоступное логическое свойство IsVisible
. Все, что мне нужно сделать, это выяснить, установлено ли хотя бы в одном из наборов это значение на TRUE
. Другими словами, если у меня есть 10 000 объектов, но второй истинный
, мне не нужно прокручивать остальные 9998. У меня уже есть ответ.
Теперь я знаю, что могу написать свою собственную функцию итерации и выйти из первого значения « True
», но я надеюсь, что LINQ сможет это сделать. Фактически, это даже не обязательно LINQ. Любые предложения приветствуются.
Кстати, выбранный язык - C #.
Обновление:
См. Мой последний пост здесь. Я' Мы добавили тестовый код и тайминги. Похоже, LINQ чертовски низок с точки зрения производительности по сравнению с тем, что я просто выполняю тест. Конечно, писать легче, но в критически важные моменты времени я больше не уверен.
Что меня удивило, так это то, что большую часть времени я их запускал, перечисление выигрывало и неплохо, но по какой-то причине , когда я завернул тест в несколько проходов, похоже, что он переключился на индексацию с кешированным счетчиком как самый быстрый.
Я также заметил, что если я не сбрасываю все обратно на «ложь», все оставшиеся / повторяющиеся тесты кажутся НАМНОГО быстрее. Каким-то образом переустановка всего на FALSE (что было намеренно излишним, чтобы проверить именно это ...) меняет ситуацию.
Интересно. Не уверен, куда я пойду сейчас. Эта не критически важная система, поэтому, возможно, я Пойду на читабельность, но все же. Интересно.