限制List(Of T)的大小 – VB.NET

前端之家收集整理的这篇文章主要介绍了限制List(Of T)的大小 – VB.NET前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图限制我的通用列表的大小,以便在它包含一定数量的值后,它将不再添加.

我试图使用List对象的Capacity属性执行此操作,但这似乎不起作用.

  1. Dim slotDates As New List(Of Date)
  2. slotDates.Capacity = 7

人们会如何建议限制列表的大小?

我试图避免在添加每个对象后检查List的大小.

有几种不同的方法可以将内容添加到List< T>:Add,AddRange,Insert等.

考虑一个继承自Collection< T>的解决方案:

  1. Public Class LimitedCollection(Of T)
  2. Inherits System.Collections.ObjectModel.Collection(Of T)
  3.  
  4. Private _Capacity As Integer
  5. Public Property Capacity() As Integer
  6. Get
  7. Return _Capacity
  8. End Get
  9. Set(ByVal value As Integer)
  10. _Capacity = value
  11. End Set
  12. End Property
  13.  
  14. Protected Overrides Sub InsertItem(ByVal index As Integer,ByVal item As T)
  15. If Me.Count = Capacity Then
  16. Dim message As String =
  17. String.Format("List cannot hold more than {0} items",Capacity)
  18. Throw New InvalidOperationException(message)
  19. End If
  20. MyBase.InsertItem(index,item)
  21. End Sub
  22.  
  23. End Class

这样,无论您是添加还是插入,都会尊重容量.

猜你在找的VB相关文章