Разлика између ИЕнумерабле и ИЕнумератор

Пре него што пређемо на разлику између ИЕнумерабле и ИЕнумератор, прво да разумемо изразе Енумератор и Енумерабле и када и зашто их користити.

Енумерабле је модул који се користи у класи Арраи који вам даје Енумератор. Сама класа нема сваки метод. У ствари, користи методу која се зове "ГетЕнумератор" која вам омогућава пописивачу да преузме свој предмет.

Пописивач је објект који сваку ставку у колекцији враћа одређеним редоследом, тачно онако како су тражени. Компајлер генерише код који користи Енумератор када пишете петљу фореацх у Ц #.

ИЕнумератор је интерфејс који имплементира пописивач, а бројчана класа имплементира ИЕнумерабле интерфејс.

Шта је небројено?

ИЕнумерабле је основни интерфејс који се користи за добијање објекта који зна набројати (или поновити) преко елемената у колекцији.

То је имплементација итераторског узорка који пружа механизам за прелазак предмета у колекцију без обзира на његову унутрашњу структуру. ИЕнумерабле интерфејс представља објект који се може поновити у колекцији.

Користи само једну методу "ГетЕнумератор" која враћа инстанцу класе пописивача која имплементира ИЕнумератор интерфејс.

Шта је Инвентер?

Интерфејс ИЕнумератор, с друге стране, изјављује две методе - Ресет () и МовеНект () - и једно својство, Цуррент. МовеНект () враћа боолеов вале који означава крај листе и помаже позиционирање првог елемента на листи након позивања методе Ресет () - пописивачу је постављен на његов задани положај тако да се листа поново понавља из почетак.

Тренутни ентитет се може позвати само кроз инстанцу интерфејса ИЕнумератор и враћа тренутни елемент у листу.

Разлика између ИЕнумерабле и ИЕнумератор

Основе ИЕнумерабле и Иенумератор

И Иннумерабле и ИЕнумератор су интерфејси који заједно имплементирају образац дизајна софтвера итератор у .Нет Фрамеворк. .Нет Фрамеворк омогућава приступ појединачним елементима у прилагођеној колекцији, истовремено имплементирајући ИЕнумерабле и ИЕнумератор интерфејсе. Интерфејс ИЕнумерабле декларира само једну методу која се зове ГетЕнумератор и враћа другу врсту интерфејса под називом ИЕнумератор интерфејс за ту одређену колекцију. ИЕнумератор је, са друге стране, основни интерфејс за све негенеричке пописиваче који се користе за читање података у колекцији. Међутим, пописивачи се не могу користити за модификацију основне збирке.

Методе

ИЕнумерабле интерфејс дефинира само једну методу ГетЕнумератор () која је метода примјерака која се користи за неколико различитих типова колекције. Добија ИЕнумератор итератор који се може користити за понављање свих вредности из колекције. Када напишете петљу фореацх у Ц #, код који генерише позива методу ГетЕнумератор да би створио Енумератор који користи петља.

ИЕнумератор, с друге стране, користи две методе МовеНект () и Ресет () и својство Цуррент. Метода МовеНект () одводи пописивача до следећег елемента колекције, док метода Ресет () поставља пописивача на његову задану позицију, која је пре првог елемента у колекцији.

Имплементација

ИЕнумерабле је генеричко сучеље које пружа апстракцију за пребацивање елемената и применом ИЕнумерабле интерфејса, генеричка класа у суштини омогућава итерацију преко ИЕнумератор интерфејса. При томе ове класе на крају пружају заједничко сучеље за преузимање инстанције ИЕнумератор објекта који подржава све основне скупове навигацијских метода.

ИЕнумератор је основни интерфејс за пописиваче, а коришћење ИЕнумерабле интерфејса захтева да класа мора имплементирати ИЕнумератор. Оба сучеља је потребно имплементирати ако желите пружити подршку за фореацх. Апстрактна класа 'АбстрацтЕнумератор' имплементира ИЕнумератор интерфејс.

Функционалност ИЕнумерабле и ИЕнумератор

ИЕнумерабле интерфејс, заједно са подршком за ИЕнумератор интерфејс, омогућава вам понављање елемената у скупу помоћу изразе 'фореацх'. То је основни интерфејс који се користи за објекте типа колекције. Понављање започиње горњим елементом у низу и завршава најстаријим елементом у низу. Једноставно речено, представља објект који се може набројати.

Заједно с интерфејсом ИЕнумератор, омогућују понављање елемената АрраиЛист на стандардизовани, секвенцијални начин, почевши од првог елемента и иде напријед. Изјава фореацх користи методе и својства интерфејса ИЕнумератор за понављање свих елемената у колекцији.

ИЕнумерабле вс. ИЕнумератор: Упоредни графикон

Резиме ИЕбројних стихова ИЕнумератор

Укратко, ИЕнумерабле и ИЕнумератор су интерфејси који се користе за набрајање или понављање класе која има природу колекције што значи да омогућују итеративни приступ у прилагођеној колекцији. ИЕнумерабле је генеричко сучеље доступно за објекте типа колекције и применом интерфејса ИЕнумерабле генеричка класа у суштини омогућава итерацију преко ИЕнумератор интерфејса. Користи само једну методу ГетЕнумератор која враћа инстанцу класе пописивача која имплементира ИЕнумератор интерфејс. Интерфејс ИЕнумератор требао би се користити као додаци и не може се користити за модифицирање основне колекције. Омогућава две апстрактне методе Ресет () и МовеНект (), и својство Цуррент за позивање одређеног елемента у колекцији.