Мне нужно проверить, имеет ли последовательность какие-либо элементы, удовлетворяющие некоторому условию, но в то же время НЕ все элементы, удовлетворяющие одному и тому же условию.
Например, для последовательности из 10 элементов я хочу иметь ИСТИННУЮ, если последовательность имеет по крайней мере одну, которая удовлетворяет условию, но не все:
- 10 элементов, удовлетворяющих, 0 элементов нет, результат FALSE
- 0 элементов, удовлетворяющих, 10 элементов нет, результат ЛОЖЬ
- 1 элемент, удовлетворяющий, 9 элементов нет, результат равен TRUE
- 9 элементов, удовлетворяющих, 1 элемент нет, результат ИСТИНА
Я знаю, что смог:
mySequence.Any (item => item.SomeStatus == SomeConst) && !mySequence.All (item => item.SomeStatus == SomeConst)
Но это не оптимально.
Есть ли лучший способ?