vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: GetEnumerator nur für For-Each-Schleife vorhanden? 
Autor: ModeratorFZelle (Moderator)
Datum: 10.10.10 20:41

Nein, auch das hast du falsch verstanden.

Enumeratoren sind so aufgebaut, das sie über Current das aktuelle Element liefern, und über ein explizites MoveNext zum nächsten Element gehen.
Das MoveNext kann auch Berechnungen beinhalten, Daten von einer DB holen, oder sonst irgendetwas.

Yield ist ein besonderer C# Konstrukt, der in etwa dem erzeugen einer Statemaschine entspricht.
Wird die funktion das erste mal angesprungen, wird bis zum yield alles abgearbeitet und der Wert hinter Yield als Rückgabewert benutzt.

Wird die funktion im selben Context nochmal aufgerufen, wird sie direkt hinter yield fortgesetzt.
Yield Break sagt lediglich dem Konstrukt, das jetzt dieser Ablauf zuende ist und movenext liefert dann false.

Da wird nichts intern einer Liste hinzugefügt, was auch bedeutet das das ergebnis bereitsteht bevor die gesamte Aufgabe erledigt ist.


Und deshalb kann man eine normale For Schleife auch nicht immer dort benutzen wo ForEach benutzt wird.

Und nochmal Iteratoren/Enumeratoren gab es schon bevor ForEach in die Sprache aufgenommen wurde ( VB.NET im FW 1.1 hatte kein ForEach ).

Und nein ein Indexer hat nichts mit einem Iterator zu tun.
Indexer machen einen Wahlfreien zugriff auf die Elemente, Enumeratoren erlauben nur den Sequentiellen zugriff.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
GetEnumerator nur für For-Each-Schleife vorhanden?2.061keco10.10.10 16:07
Re: GetEnumerator nur für For-Each-Schleife vorhanden?1.408Maas10.10.10 18:18
Re: GetEnumerator nur für For-Each-Schleife vorhanden?1.364keco10.10.10 18:25
Re: GetEnumerator nur für For-Each-Schleife vorhanden?1.341Maas10.10.10 18:30
Re: GetEnumerator nur für For-Each-Schleife vorhanden?1.391ModeratorFZelle10.10.10 18:40
Re: GetEnumerator nur für For-Each-Schleife vorhanden?1.395keco10.10.10 19:57
Re: GetEnumerator nur für For-Each-Schleife vorhanden?1.353ModeratorFZelle10.10.10 20:41
Re: GetEnumerator nur für For-Each-Schleife vorhanden?1.384keco10.10.10 21:45

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel