Begrenzen Sie die Größe der Liste(Von T) - VB.NET
Ich versuche zur Begrenzung der Größe meines generische Liste, so dass nach es enthält eine bestimmte Menge von Werten, es wird nicht noch mehr.
Ich versuche, dies zu tun mit der Capacity-Eigenschaft der List-Objekt, aber das scheint nicht zu funktionieren.
Dim slotDates As New List(Of Date)
slotDates.Capacity = 7
Wie würden die Menschen beraten die Begrenzung der Größe der Liste?
Ich versuche zu vermeiden, überprüfen Sie die Größe der die Liste nach jedem Objekt Hinzugefügt wird.
InformationsquelleAutor w4ymo | 2009-03-24
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es verschiedene Möglichkeiten, um die Dinge hinzufügen, um eine
List<T>
: Add, AddRange, Einfügen, etc.Prüfen Sie eine Lösung, die erbt von
Collection<T>
:Diese Weise die Kapazität geachtet wird, ob Sie
Add
oderInsert
.Gibt es keine integrierte Möglichkeit der Begrenzung der Größe einer List(Of T). Die Capacity-Eigenschaft ist nur das ändern der Größe der underyling Puffer, nicht Beschränkung.
Wenn Sie wollen, beschränken Sie die Größe der Liste, Sie müssen, um einen wrapper, welche Prüfungen für ungültig Größe ist. Zum Beispiel
Werden Sie wollen, um daraus einen neuen
LimitedList
und Schatten, das hinzufügen von Methoden. So etwas wird erhalten Sie begann.Gerade Begriffen, dass man in VB, ich werde übersetzen in Kürze
Bearbeiten Siehe Jared ist für eine VB-version. Ich lasse diese hier, falls jemand möchte eine C# - version zu bekommen begann mit.
Für was es Wert mine nimmt einen etwas anderen Ansatz als es erweitert die Liste Klasse statt encapsulating es. Die Methode, die Sie verwenden möchten, hängt von Ihrer situation.
Sollten Sie implementieren Ihre eigene Liste/Sammlung, wenn Sie brauchen, um zu beschränken die maximale Anzahl der Artikel in es.
Liste hat keine solche Anlage.
Den Kapazität Zeug ist nur eine performance-Optimierung.
Sind Sie gehen zu müssen, Rollen Sie Ihre eigene Klasse, abgeleitet aus der Liste und überschreiben Sie die Add-Implementierung.