我有一个每天将被调用数千次的函数,并且我想对该函数进行优化,以使其尽可能快和高效。
在此功能中,将检查一个列表,并根据此检查的结果执行不同的操作。我的问题是确定此列表中有多少个元素的最有效方法是什么。
显然,您可以像这样检查:
List<Objects> data = GetData();
if (data.Count == 0)
{
//Do something
}
else if (data.Count < 5)
{
//Do something with a small list
}
else
{
//Do something with a larger list
}
这已经是最快/最有效的方法吗?我想出了一个替代方案,但我想提出一些建议
List<Objects> data = GetData();
int amountOfObjects = data.Count();
if (amountOfObjects == 0)
{
//Do something
}
else if (amountOfObjects < 5)
{
//Do something with a small list
}
else
{
//Do something with a larger list
}
您应该使用该属性,Count
因为它是一个预先计算的值,并且在使用它时不需要重新计算该值,而该方法Count()
将尝试成为一个聪明的驴子,并尝试计算是否需要重新计算,但是独自锻炼比仅仅使用锻炼还要多的努力Count
。
因此,只需使用您最初完成的操作即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句