Простая проверка для посмотреть, имеет ли хотя бы один объект в наборе значение свойства ИСТИНА

У меня есть набор объектов модели, у которых есть общедоступное логическое свойство IsVisible . Все, что мне нужно сделать, это выяснить, установлено ли хотя бы в одном из наборов это значение на TRUE . Другими словами, если у меня есть 10 000 объектов, но второй истинный , мне не нужно прокручивать остальные 9998. У меня уже есть ответ.

Теперь я знаю, что могу написать свою собственную функцию итерации и выйти из первого значения « True », но я надеюсь, что LINQ сможет это сделать. Фактически, это даже не обязательно LINQ. Любые предложения приветствуются.

Кстати, выбранный язык - C #.

Обновление:

См. Мой последний пост здесь. Я' Мы добавили тестовый код и тайминги. Похоже, LINQ чертовски низок с точки зрения производительности по сравнению с тем, что я просто выполняю тест. Конечно, писать легче, но в критически важные моменты времени я больше не уверен.

Что меня удивило, так это то, что большую часть времени я их запускал, перечисление выигрывало и неплохо, но по какой-то причине , когда я завернул тест в несколько проходов, похоже, что он переключился на индексацию с кешированным счетчиком как самый быстрый.

Я также заметил, что если я не сбрасываю все обратно на «ложь», все оставшиеся / повторяющиеся тесты кажутся НАМНОГО быстрее. Каким-то образом переустановка всего на FALSE (что было намеренно излишним, чтобы проверить именно это ...) меняет ситуацию.

Интересно. Не уверен, куда я пойду сейчас. Эта не критически важная система, поэтому, возможно, я Пойду на читабельность, но все же. Интересно.

7
задан 3 revs, 2 users 90% 19 September 2010 в 07:15
поделиться