こんにちは、次のコードがあります。
if (!_jobs.Any(j => j.Id == emailJob.Id))
{
}
このコードは、条件を満たす要素を見つける必要があります。したがって、次のような最初の要素を見つけた後に返されるはずだと思います。
if (!_jobs.FirstOrDefault(j => j.Id == emailJob.Id) != null)
{
}
Resharper は、この LINQ 式を次のように単純化しようとします。
if (_jobs.All(j => j.Id != emailJob.Id))
{
}
これは、すべての要素が逆条件を満たしていることを確認する必要があるため、効率が悪いように思えます。
LINQ の仕組みを誤解しているだけなら申し訳ありません。
ジョー