我试图限制通用列表的大小,以便在它包含一定数量的值后,它不会再添加任何值。
我尝试使用 List 对象的 Capacity 属性来执行此操作,但这似乎不起作用。
Dim slotDates As New List(Of Date)
slotDates.Capacity = 7
人们如何建议限制列表的大小?
我试图避免在添加每个对象后检查列表的大小。
没有内置方法来限制 List(Of T) 的大小。容量属性只是修改底层缓冲区的大小,而不是限制它。
如果要限制列表的大小,则需要创建一个包装器来检查无效大小。例如
Public Class RestrictedList(Of T)
Private _list as New List(Of T)
Private _limit as Integer
Public Property Limit As Integer
Get
return _limit
End Get
Set
_limit = Value
End Set
End Property
Public Sub Add(T value)
if _list.Count = _limit Then
Throw New InvalidOperationException("List at limit")
End If
_list.Add(value)
End Sub
End Class
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)