因此,我在 LINQ 查询中仅选择一个元素(cars
类型为Car[]
):
Car selectedCar = (
from x
in cars
where x.Location * direction > location * direction
orderby x.Location * direction
select x)
.FirstOrDefault();
这基本上是一个 O(n log n) 操作(因为orderby
)。我可以通过使用 LINQ 来降低约 30% 的性能损失,但是当它很容易成为 O(n) 循环时,我不能让它成为 O(n log n)。有没有办法保留 LINQ,但减少操作顺序?