LINQ: Not Any vs All Don't
Often I want to check if a provided value matches one in a list (e.g. when validating):
if (!acceptedValues.Any(v => v == someValue))
{
// exception logic
}
Recently, I've noticed ReSharper asking me to simplify these queries to:
if (acceptedValues.All(v => v != someValue))
{
// exception logic
}
Obviously, this is logically identical, perhaps slightly more readable (if you've done a lot of mathematics), my question is: does this result in a performance hit?
It feels like it should (i.e. .Any()
sounds like it short-circuits, whereas .All()
sounds like it does not), but I have nothing to substantiate this. Does anyone have deeper knowledge as to whether the queries will resolve the same, or whether ReSharper is leading me astray?