Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 17820|Antwort: 0

[Quelle] Die Art der Schnittstelle oder Methode, mit der foreach durchlaufen werden kann, muss implementiert werden.

[Link kopieren]
Veröffentlicht am 26.09.2015 10:37:46 | | |
Antwort: Objekte, die von foreach durchquert werden können, müssen Collection- oder Array-Objekte sein, die vom Typ sind, der den Superinterface-IEnumerator oder die deklarierte GetEnumerator-Methode implementiert
Q:
Aber wenn ich Foreach In normalerweise benutze, nutze ich es direkt und es gibt kein Problem. Darf ich fragen, warum das so ist? Wenn du den Typ des Super-Interfaces IEnumerator oder der deklarierten GetEnumerator-Methode wie in der Frage gestellt implementieren möchtest, was solltest du tun? Vielen Dank
Antwort: Beim Einsatz von foreach in verwenden wir in der Regel eine systemdefinierte Collection-Klasse (Implementierung der ICollection-Schnittstelle). Zum Beispiel arrayList, stringDictionary, Array usw. Diese werden von der Plattform selbst paketiert und stehen kurz davor, die IEnumerator-Schnittstelle zu implementieren. Damit die Klasse, die du schreibst, gleichzeitig foreachen kann, musst du die Schnittstelle beim Schreiben der Klasse implementieren. Dies ermöglicht jede weitere Durchquerung. Definieren Sie zum Beispiel eine Klasse von Personen und implementieren Sie die IEnumerator-Schnittstelle. Wenn es ein Array People[] tempPeople gibt, kannst du verwenden: foreach( p in tempPeople){ console.writeline(p.name); Das beseitigt die Mühe, For-Schleifen zu verwenden. Was die Implementierung der Iemumerator-Oberfläche angeht: Schau einfach auf MSDN. Du kannst auch nach einem dickeren Buch suchen.





Vorhergehend:Interviewalgorithmus-Fragen 1, 1, 2, 3, 5, 8, 13, 21, 34...... finde heraus, was die 30. Ziffer ist, und nutze einen rekursiven Algorithmus, um das herauszufinden
Nächster:Was ist der Ursprung der dunklen Wolken, die aus Ctrip und anderen Lecks ausgebrochen sind?
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com