(计数> 1)短路Linq

Yai*_*adt 2 c# linq

其中一个优点linq.Any()是,一旦返回第一个结果,它就会短路,O(1)也不是O(n).

如果我想检查Linq.Count() > nwhere n> 1,那么短路表达式的最佳方法是什么,这样当Linq.Count()接近n时它不会显着减慢速度,但是当Linq.Count加快速度时()很大.

Yai*_*adt 5

我用了

Linq.Skip(n).Any();
Run Code Online (Sandbox Code Playgroud)

如果您知道没有元素为null,则可以使用

Linq.ElementAtOrDefault(n) != null
Run Code Online (Sandbox Code Playgroud)

虽然我不知道这是否会有任何速度优势.