Effacer toutes les données de la liste de tableaux
Pourquoi ne pas le code en dessous de tout effacer la liste des ensembles de données?
Console.WriteLine("Before cleaning:" + Convert.ToString(ID.Count));
//ID.Count = 20
for (int i = 0; i < ID.Count; i++)
{
ID.RemoveAt(i);
}
Console.WriteLine("After cleaning:" + Convert.ToString(ID.Count));
//ID.Count = 10
Pourquoi est 10 imprimé à l'écran?
Peut-être il ya une autre fonction spéciale, qui supprime tout?
source d'informationauteur lolalola
Vous devez vous connecter pour publier un commentaire.
supprime tous les éléments dans le tableau.
supprime l'élément de la ième de l'indice dans le tableau.
Vous êtes seulement fait appel
RemoveAt
10 fois. Lorsquei
atteint 10,ID.Count
sera de 10. Vous pourrait résoudre ce problème en faisant:C'est un O(n2) opération si, comme la suppression d'une entrée à partir du début de la liste implique la copie de tout le reste.
Plus efficacement (en O(n)):
ou l'équivalent, mais plus simple:
Mais en utilisant
ID.Clear()
est probablement plus efficace que tous ces cas, même s'il est également en O(n).pour plus de détails : http://msdn.microsoft.com/en-us/library/system.collections.arraylist.clear.aspx
Après le retrait de 10 points,
ID.Count() == 10
eti == 10
de sorte que la boucle s'arrête.Utilisation
ID.Clear()
pour supprimer tous les éléments dans le tableau dans la liste.Utiliser la Méthode clear ()
ou
changement
ID.RemoveAt(i);
àID.RemoveAt(0);
Chaque fois qu'un élément est supprimé de la collection, son indice a également des changements. C'est pourquoi, lorsque vous dites
ID.RemoveAt(0);
l'élément à l'index 1 va maintenant être déplacé à l'index 0. Donc, encore une fois, vous avez pour supprimer un élément (comme la file d'attente). jusqu'à ce que vous atteignez le dernier élément. Toutefois, si vous souhaitez supprimer tous les éléments à la fois, vous pouvez mieux utiliser la méthode Clear ().Votre code:
Généralement parler de votre méthode supprime tous les deuxième élément de la liste..
Utilisation
ArrayList.Clair
plutôt que d'autres l'ont mentionné.