这是我的一个继承自
我的理论是,
那么,我应该保留还是删除
List(Of T)
的类的相关部分摘录。请查看 SelectedObjects
和 SelectedCount
属性。我添加了 SelectedCount
是为了提高性能,但现在我想知道它是否比 SelectedObjects.Count()
更好。Public Class DrawingObjectsList
Inherits List(Of DrawingObjectBase)
Friend ReadOnly Property DOsOfCurrentFace As IEnumerable(Of DrawingObjectBase)
Get
Return Me.Where(Function(DObj) DObj.Face = mFace)
End Get
End Property
Public ReadOnly Property SelectedObjects() As IEnumerable(Of DrawingObjectBase)
Get
Return DOsOfCurrentFace.Where(Function(DObj) DObj.IsSelected = True)
End Get
End Property
Public ReadOnly Property SelectedCount() As Integer
Get
Return DOsOfCurrentFace.Count(Function(DObj) DObj.IsSelected = True)
End Get
End Property
End Class
我的理论是,
Where(predicate).Count()
和Count(predicate)
都需要遍历列表,因此它们之间不应该有任何显著的差异。另外,由于我没有在Where()
上执行任何ToList()
或ToArray()
操作,我不确定在其上调用Count()
是否能够利用内置的Count
属性。那么,我应该保留还是删除
SelectedCount
属性呢?