我正在遍历一个大的对象列表来对列表中的所述对象做一些事情。
在我的迭代过程中,我会根据特定条件从列表中删除一些对象。
完成所有操作后,我需要根据列表中的对象数量更新 UI。 (T 列表)。
问题:
When I call list.count, does .net actually iterate through the list to count it, or does it store the count as a property/variable?
如果 .net 在物理上重复遍历列表,我也可以在自己遍历列表时保留一个计数器,从而节省开销?
谢谢
最佳答案
它只是保留一个内部整数来跟踪项目的数量。所以没有迭代。 文档说检索 Count 是一个 O(1) 操作:
http://msdn.microsoft.com/en-us/library/27b47ht3%28v=vs.110%29.aspx
你可以自己看看:
http://referencesource.microsoft.com/#mscorlib/system/collections/generic/list.cs
关于c# - list.count 是在物理上遍历列表来计算它,还是保留一个指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24517351/