Anyone who has encountered the differences between Any() and Count() > 0 in .NET has had to choose which one fits the particular circumstance. This posting is an example of what each will do.
I recently ran across a situation where I need a program to "run as many as possible" followed by "only take the next action if the result is more than one".
At first, I had coded it with Any() then realized it WOULD always terminate at the first success, which was NOT what I wanted for the target program. Even though ONE is considered success, I wanted AS-MANY-AS-POSSIBLE. Being early morning, I wanted a visual example of this happening, so I wrote this code:
As Erik pointed out: Using Count() > 0 has side-effects.
It was my intention to "exploit the side-effect".
I do have a C/C++ background -- languages where side-effects are exploited by design and practice, but those practices should not be carried forward into LINQ and other functional programming paradigms.