Часто я хочу проверить, соответствует ли предоставленное значение одному из списка (например, при проверке):
if (!acceptedValues.Any(v => v == someValue))
{
// exception logic
}
Недавно я заметил, что ReSharper попросил меня упростить эти запросы:
if (acceptedValues.All(v => v != someValue))
{
// exception logic
}
Очевидно, что это логически идентично, возможно, немного читаемо (если вы сделали много математики), мой вопрос: приводит ли это к результату?
Похоже, что (например, .Any()
звучит как короткое замыкание, тогда как .All()
звучит так, как будто это не так), но мне нечего доказывать это. Кто-нибудь имеет более глубокие знания относительно того, будут ли запросы разрешаться одинаково, или же ReSharper лишает меня возможности заблудиться?