gpt4 book ai didi

c# - Min() 和 Max() 还是单一的老式 foreach?

转载 作者:太空狗 更新时间:2023-10-30 00:51:43 26 4
gpt4 key购买 nike

如果我收藏量很大,而且我很在乎性能,我应该相信奇迹和使用吗

var min = Y.Min();
var max = Y.Max();

或者我最好成为一名优秀的工程师并使用

var max = double.NegativeInfinity;
var min = double.PositiveInfinity;
foreach(var y in Y)
{
if(y > max)
max = y;
if(y < min)
min = y;
}

YICollection<double> ,因为我需要 Countforeach .我很好奇类型是否正确,因为最小/最大并且我需要从末尾迭代集合,所以会有

Y.OrderByDescending((o) => o)...

最佳答案

Linq 没有“魔法”可以优化这样的查询。它所做的只是在集合之上添加迭代器。 Linq 旨在提高编码效率,而不是原始性能。

在某些情况下,可能 Linq 查询比foreach 执行得更快,但这不是其中之一。 MinMax 是两个独立的操作,因此编译器必须“向前看”以查看正在执行哪些操作,以了解它们是否可以合并为一个迭代.没那么复杂。

关于c# - Min() 和 Max() 还是单一的老式 foreach?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25427339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com