C # -Syntax - Beispiel für einen Lambda-Ausdruck - ForEach () over Generic List
Erste, ich weiß, es gibt Methoden aus der generischen List<>
Klasse bereits in den Rahmen tun Iteration über die List<>
.
Sondern als ein Beispiel, was ist die richtige syntax schreiben Sie eine ForEach-Methode Durchlaufen Sie jedes Objekt einer List<>
und eine Console.WriteLine(object.ToString())
auf jedes Objekt.
Etwas, das die List<>
als erstes argument und den lambda-Ausdruck als zweites argument.
Meisten der Beispiele, die ich gesehen habe, sind fertig als extension-Methoden oder mit LINQ. Ich bin auf der Suche nach einem plain-old-Methode Beispiel.
InformationsquelleAutor der Frage BuddyJoe | 2008-12-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
... und rufen Sie es folgendermaßen:
InformationsquelleAutor der Antwort Matt Hamilton
Das oben könnte auch geschrieben werden, mit weniger code als:
Dieser erzeugt eine generische Liste und füllt es mit der IEnumerable-Schnittstelle und ruft dann die Liste der Objekte ForEach.
InformationsquelleAutor der Antwort Peanut
Ist es das, was Sie für Fragen?
InformationsquelleAutor der Antwort Torres
... und rufen Sie es folgendermaßen:
InformationsquelleAutor der Antwort Krzysztof Radzimski
Möchten zu setzen gibt, gibt es nicht viel zu befürchten, wenn jemand die Antwort als eine Erweiterung Methode, da eine Erweiterung die Methode ist einfach nur eine Coole Art, um eine Instanzmethode aufzurufen. Ich verstehe, dass Sie wollen, dass die Antwort ohne Verwendung einer extension-Methode. Unabhängig davon, ob die Methode ist als static definiert, eine Instanz oder eine Erweiterung - das Ergebnis ist das gleiche.
Der folgende code verwendet den code von der akzeptierten Antwort zu definieren, eine Erweiterung Methode und eine Instanz-Methode und erstellt ein unit-test zeigen, der output ist der gleiche.
Wahrsten Sinne des Wortes, die einzige Sache, die Sie tun müssen, um zu konvertieren eine Erweiterung Methode um eine Instanz-Methode ist, entfernen Sie die
static
modifier und der erste parameter der Methode.Diese Methode
wird
InformationsquelleAutor der Antwort Ryan Rodemoyer
Können Sie die traverse jeder string in der Liste und auch Sie können die Suche in die gesamte generische Verwendung einer einzigen Anweisung dies macht die Suche einfacher.
InformationsquelleAutor der Antwort