Innehållsförteckning:
Definition - Vad betyder Iterator?
En iterator, i samband med C #, är ett kodblock som returnerar en ordnad sekvens av värden för en samling eller array. Det är en medlemsfunktion implementerad med iteratorblocket som innehåller en eller flera uttalanden som innehåller nyckelordet "avkastning".
En iterator används för att göra det möjligt för konsumenter i en containerklass, som innehåller en samling eller array, att korsa samlingen med "foreach" -satsen på ett enklare sätt. Det används med starkt typade samlingsklasser för att iterera komplexa datastrukturer som binära träd, som kräver rekursiv genomgång och upprätthåller iterationstillståndet genom rekursionen. Begreppet iterator används också för att implementera uppskjuten exekvering i LINQ-frågor.
Techopedia förklarar Iterator
Iteratorn är baserad på ett designmönster som tillhandahåller en metod för att korsa elementen i en samling av artiklar i följd utan att avslöja den underliggande strukturen i samlingen. Det eliminerar den tråkiga uppgiften att implementera "IEnumerator" -gränssnittet manuellt när du skapar samlingsklasser som stöder uttalandet "foreach". Den mellanliggande språkkoden som krävs för att implementera metoderna och egenskaperna för IEnumerator-gränssnittet genereras av kompilatorn, vilket resulterar i enklare syntax, reducerad kodstorlek och förbättring av utvecklarens produktivitet.
I allmänhet liknar en iterator en databasmarkör genom att den ger åtkomst till dataelement i en samling, men inte utför iteration. En iterator kan implementeras i C # som en metod, operatör eller få accessor. Till exempel kan en iterator användas för att korsa en samling strängar för att visa innehållet i varje sträng i samlingen.
En iterator representeras av IEnumerator-gränssnittet och implementeras av kompilatorn med följande metoder:
- MoveNext: En metod som går vidare till nästa element i samlingen och anger slutet på samlingen
- Aktuell: En egenskap som hämtar värdet på det element som för närvarande pekas på
- Kassera: Rensar upprepningen
