Lorsqu'une liste est redimensionnée parce qu'il n'y a plus de capacité excédentaire, quelle est la capacité ajoutée? seulement 1? Ou ajoute-t-il de la capacité (doublant ainsi la capacité totale)?Lorsque la liste <T> est redimensionnée, combien de capacité supplémentaire est ajoutée?
3
A
Répondre
8
La capacité doublera.
Ceci est contrôlé par la source suivante:
// Ensures that the capacity of this list is at least the given minimum
// value. If the currect capacity of the list is less than min, the
// capacity is increased to twice the current capacity or to min,
// whichever is larger.
private void EnsureCapacity(int min) {
if (_items.Length < min) {
int newCapacity = _items.Length == 0? _defaultCapacity : _items.Length * 2;
if (newCapacity < min) newCapacity = min;
Capacity = newCapacity;
}
}
_defaultCapacity
est un const int
égal à 4
.
+1
Argghh, je devais vérifier :( – leppie
0
Normalement double.
2
On dirait qu'il double, basé sur le code suivant:
int initialCapacity = 100;
List<string> list = new List<string>(initialCapacity);
Console.WriteLine(list.Capacity);
for(int i = 0; i < list.Capacity; i++){
list.Add("string " + i);
}
list.Add("another string");
Console.WriteLine(list.Capacity); // shows 200, changes based on initialCapacity
4
Ce sont les méthodes de EnsureCpacity que voit réflecteur il. La taille doublera :)
private void EnsureCapacity(int min)
{
if (this._items.Length < min)
{
int num = (this._items.Length == 0) ? 4 : (this._items.Length * 2);
if (num < min)
{
num = min;
}
this.Capacity = num;
}
}
Questions connexes
- 1. WorkflowView s'actualise lorsque l'activité enfant est ajoutée
- 2. Redimensionner le widget Tkinter Listbox lorsque la fenêtre est redimensionnée
- 3. Les objets Flash se chevauchent lorsque la fenêtre est redimensionnée?
- 4. Comment redimensionner le lecteur YouTube lorsque la fenêtre est redimensionnée
- 5. JQuery conserve la capacité de glisser lorsque l'élément est supprimé
- 6. Pourquoi le cadre Tkinter est-il redimensionné lorsque la zone de texte est ajoutée?
- 7. Jquery UI- La superposition ne se redimensionne pas lorsque la boîte de dialogue est redimensionnée
- 8. AVAudioPlayer s'arrête lorsque l'entrée audio est ajoutée à AVCaptureSession
- 9. Lorsque la zone de texte est redimensionnée dans IE, le comportement de la position du bloc est foiré
- 10. quelle est la capacité d'un vecteur vide?
- 11. Prévenir le contenu de positionné: fixe; div de regroupement lorsque la fenêtre est redimensionnée
- 12. L'image d'en-tête cesse de se répéter lorsque la fenêtre est redimensionnée
- 13. Combien d'octets est \ n \ r?
- 14. Fenêtre WPF redimensionnée lorsque ListBox défile
- 15. Minimisation d'une JFrame supplémentaire lorsque l'application principale JFrame est minimisée
- 16. Quelle est la capacité "http"/IIS d'une micro-instance EC2?
- 17. MonthCalendar Control a une bordure supplémentaire lorsque ShowToday est False
- 18. Icône UIBarButtonItem blanche lorsqu'elle est ajoutée via IB, noire lorsqu'elle est ajoutée par programmation
- 19. Redimensionnement d'un QGraphicsItem pour prendre tout l'espace dans un QGraphicsView, problèmes lorsque la fenêtre est redimensionnée
- 20. comment faire pour redimensionner FlexMDI son enfant lorsque la fenêtre est redimensionnée?
- 21. Est-il possible de réduire la capacité IsolatedStorage dans Silverlight?
- 22. Début de la modification d'une ligne dès qu'elle est ajoutée
- 23. Pourquoi mon formulaire Windows n'est-il pas redessiné lorsque la fenêtre est redimensionnée?
- 24. Détecter lorsqu'une fenêtre est redimensionnée à l'aide de JavaScript?
- 25. Combien de NSTimers est trop?
- 26. Problème: pas headerValue lorsque la liste est vide <s:select>
- 27. Liste <T> est effacé problème
- 28. Rails: Combien est la destruction modèle automatisé
- 29. Comment puis-je effectuer une liste <object> .Cast <T> utilisant la réflexion lorsque T est inconnu
- 30. Rowspan lorsque l'élément <a> est cliqué avec Jquery?
Merci à tout le monde pour avoir répondu si rapidement! J'aurais dû penser à utiliser un réflecteur. J'aimerais pouvoir accepter plusieurs réponses. – SFun28