gpt4 book ai didi

c# - Count 或 Length 属性是否在每次调用时都计算?

转载 作者:行者123 更新时间:2023-12-05 02:27:13 24 4
gpt4 key购买 nike

C# 中,调用 Count 时或 Length属性,C# 是否会在集合更新时在内部跟踪计数?或者,是否在每次调用这些属性时计算下划线元素?

我试图了解以下两个代码中哪个更好

if(collection.Count > 0)
{
if(collection.Count > 5)
{
// more than 5
} else if(collection.Count > 10 && collection.Count <= 15)
{
// more than 10
} else {
// more than 15
}
}
else
{
// collection is empty
}

或者我应该这样做

var count = collection.Count;

if(count > 0)
{
if(count > 5)
{
// more than 5
} else if(count > 10 && count <= 15)
{
// more than 10
} else {
// more than 15
}
}
else
{
// collection is empty
}

最佳答案

微软声明:

Retrieving the value of this property is an O(1) operation.

这意味着它在内部跟踪它,不会每次都迭代以查找计数。

不需要设置专用计数变量。

来源:https://learn.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.collection-1.count?redirectedfrom=MSDN&view=net-6.0#remarks

关于c# - Count 或 Length 属性是否在每次调用时都计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73340162/

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