Ma question comme titre ci-dessus. Par exemple,
IEnumerable<T> items = new T[]{new T("msg")};
items.ToList().Add(new T("msg2"));
mais après tout, il n'a qu'un seul élément à l'intérieur.
Pouvons-nous avoir une méthode comme items.Add(item)
?
comme le List<T>
IList<T>
au lieu de IEnumerable<T>
:IList<T> items = new T[]{new T("msg")}; items.Add(new T("msg2"));
IEnumerable<T>
est destiné à interroger les collections uniquement. C'est l'épine dorsale du framework LINQ. Il est toujours une abstraction d'une autre collection tels queCollection<T>
,List<T>
ouArray
. L'interface fournit uniquement uneGetEnumerator
méthode qui retourne une instanceIEnumerator<T>
qui permet de parcourir la collection étendue un élément à la fois. Les méthodes d'extension LINQ sont limitées par cette interface.IEnumerable<T>
est conçu pour être en lecture seule car il peut représenter une agrégation de parties de plusieurs collections.