Powiel możliwe:
What's the difference between IEnumerable and Array, IList and List?Jaka jest różnica między listą <string> a IEnumerable <String>?
Jaka jest różnica pomiędzy powyższym dwoma?
Powiel możliwe:
What's the difference between IEnumerable and Array, IList and List?Jaka jest różnica między listą <string> a IEnumerable <String>?
Jaka jest różnica pomiędzy powyższym dwoma?
A List<string>
jest konkretna realizacja IEnumerable<string>
. Różnica polega na tym, że IEnumerable<string>
jest po prostu sekwencją string
, ale List<string>
można indeksować za pomocą indeksu int
, można go dodawać do i usuwać oraz wstawiać elementy do określonego indeksu.
Zasadniczo interfejs IEnumerable<string>
umożliwia strumieniowe przesyłanie string
w sekwencji, ale List<string>
pozwala to zrobić, a także modyfikować i uzyskać dostęp do elementów na listach w określony sposób. Numer IEnumerable<string>
jest ogólną sekwencją string
, która może być iterowana, ale nie pozwala na dostęp losowy. A List<string>
to specyficzny zbiór o zmiennej wielkości.
Ta odpowiedź była bardziej pomocna niż na http://stackoverflow.com/questions/764748/whats-the-difference-between -ienumerable-and-array-ilist-and-list – JYelton
Co oznacza konkretna implementacja? Czy to oznacza, że lista dziedziczy od niezliczonych? – user1534664
@ user1534664: Nie. Oznacza to, że dziedziczy on po 'IEnumerable' * i * nie jest abstrakcyjny, jest w rzeczywistości możliwy do skonstruowania. – jason
IEnumerable<T>
to interfejs. To musi być wdrożone.
List<T>
jest realizacja IEnumerable<T>
One to interfejs: http://msdn.microsoft.com/en-us/library/9eekhta0.aspx
Druga to klasa, która implementuje ten interfejs: http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx
Również Lista jest tablica, która rośnie, gdy dodajesz do niego elementy, podczas gdy IEnumerable pozwala na użycie implementatorów w foreach.
Pierwszym jest beton List
strun, drugi jest każda klasa wdrożenia IEnumerable<string>
różne.
Funkcja IEnumerable umożliwia wykonywanie iteracji w kolekcji przy użyciu pętli for-each.
I IEnumerable ma tylko metodę GetEnumerator.
I Wymień zaimplementuj wiele interfejsów takich jak IEnumerable, Ilist itp. Tak wiele funkcji na liście.
W wydajności IEnumerable szybciej niż na liście.
http://stackoverflow.com/questions/764748/whats-the-difference-between-ienumerable-and-array-ilist-and-list – timothyclifford