Limite de la taille de la Liste(T) - VB.NET
Je suis en train d'essayer de limiter la taille de ma liste générique de sorte qu'après il contient un certain nombre de valeurs, il ne sera pas ajouter de plus.
Je suis en train de faire cela à l'aide de la Capacité de la propriété de l'objet de la Liste, mais cela ne semble pas fonctionner.
Dim slotDates As New List(Of Date)
slotDates.Capacity = 7
Comment les gens des conseils de limiter la taille d'une liste?
Je suis en train d'essayer d'éviter la vérification de la taille de la Liste après chaque objet est ajouté.
OriginalL'auteur w4ymo | 2009-03-24
Vous devez vous connecter pour publier un commentaire.
Il y a plusieurs façons d'ajouter des choses à un
List<T>
: Ajouter, AddRange, Insert, etc.Envisager une solution qui hérite de
Collection<T>
:De cette façon, la capacité est respecté si vous
Add
ouInsert
.OriginalL'auteur Ryan Lundy
Il n'est pas intégrée de façon à limiter la taille d'une List(Of T). La Capacité de la propriété est seulement la modification de la taille de la underyling de la mémoire tampon, non à le restreindre.
Si vous souhaitez limiter la taille de la Liste, vous aurez besoin de créer un wrapper qui vérifie pour les invalides de la taille. Par exemple
OriginalL'auteur JaredPar
Vous aurez envie de tirer une nouvelle
LimitedList
et de l'ombre à l'ajout de méthodes. Quelque chose comme ce sera vous aider à démarrer.Viens de réaliser que vous êtes en VB, je vais traduire prochainement
Modifier Voir Jared pour une version de visual basic. Je vais laisser ça ici au cas où quelqu'un veut une version C# pour commencer avec.
Pour ce que ça vaut le mien prend une approche légèrement différente car elle s'étend de la Liste de classe plutôt que d'encapsulation. L'approche que vous souhaitez utiliser dépend de votre situation.
Oui, mon exemple n'est pas complète. Tout comme dans votre exemple bref ne vous permet pas d'accéder à la liste sous-jacente. Je viens de montrer une approche différente.
OriginalL'auteur Garry Shutler
Vous devez mettre en place votre propre liste/collection si vous avez besoin de limiter la quantité maximale de l'élément en elle.
OriginalL'auteur Fabian Vilers
Liste n'a pas un tel établissement.
La la capacité des trucs est juste un rapport d'optimisation des performances.
Vous allez avoir à rouler votre propre classe, et d'en tirer hors de la liste et de remplacer le complément de la mise en œuvre.
OriginalL'auteur Sam Saffron