mardi 22 juin 2010

Collection Séquences en .net

  • L'utilisation de foreach et de in est possible sur n'importe quel type qui implémente l'interface System.Collection.IEnumerable.
  • Les séquence :  les séquences sont des tableaux dont la taille varie au fur et à mesure de l'ajout ou de la suppression d'éléments.
  • Interface System.Collections.Generic.ICollection :
public interface ICollection : IEnumerable

==> toutes les classes collections implémente linterface System.Collection.Icollection

  • Interface System.Collection.generic.IList :
public interface IList :ICollection,IEnumerable

  • Classe System.Collections.Generic.List
  public Class List :Ilist,ICollection,IEnumerable,IListe,ICollection,IEnumerable  

Cette classe remplace la classe System.Collection.ArrayList dans .Net1.x
La classe List<T> est une classe générique
La classe List demande d'allocation de mémoire lorsque le nombre d'éléments de la liste grandit.
Comme les tableaux l'accée aux éléments d'une liste à partir d'un indexe se fait en un temps constant

  • Les interfaces System.Collection.ComponentModel.IBindingList et System.ComponentModel.IlistSource
.Net2.0 présente des facilités pour lier une source de donnée à des contrôles d'affichage de données.
Une Source de donnée est souvent une liste de donnée. Pour liée une tel liste de donnée à un contrôle d'affichage ces technologie requièrent une classe qui implémente IBindingList telle que le classe System.ComponentModel.BindingListou une classe qui implément IListeSource

  • La Classe System.Collection.Generic.LinkedList
public Class LinkedList:ICollection,IEnumerable,ICollection,IEnumerable,ISerializable,IDeserialisationCallback

c'est une classe doublement liée, c'est une collection de nœuds liés les uns aux autres , chaque nœud est lié au nœud qui le précède et au nœud qui le suit. 

l'accès à un élément se fait en un temps proportionnel au nombre  au nombre d'éléments tandis que que l'insertion ou la suppression d'un élément se fait en un temps constant.

  • La Classe System.Collection.Generic.Queue
 public Class Queue:ICollection, IEnumerable,ICollection,IEnumerable
C'est l'implémentation d'un file d'attente pour traiter des message dans l'ordre d'arrivé.
  • La Classe System.Collection.Generic.Stack
 public ClassStack :ICollection, IEnumerable,ICollection,IEnumerable


C'est l'implémentation d'un LIFO

Aucun commentaire:

Enregistrer un commentaire