Gibt es ein Standardmuster für die Ausbeute, die alle Elemente in einem Enumerable zurückgibt?Was ist das richtige Muster für die Verarbeitung von Enumerable-Objekten mit einer Ertragsrendite?
öfter als Ich mag finde ich einige meinen Code reflektiert das folgende Muster:
public IEnumerable<object> YieldReturningFunction()
{
...
[logic and various standard yield return]
...
foreach(object obj in methodReturningEnumerable(x,y,z))
{
yield return obj;
}
}
Die explizite Verwendung einer foreach-Schleife nur die Ergebnisse eines Enumerable stinkt von Codegeruch zu mir zurückzukehren.
Offensichtlich konnte ich die Verwendung von yield return verlassen die Komplexität meines Codes zu erhöhen, indem explizit einen Enumerable Aufbau und Addieren des Ergebnisses jeder Standard Ausbeute Rückkehr zu ihm sowie das Hinzufügen eines den Bereich der Ergebnisse der methodReturningEnumerable . Dies wäre bedauerlich, so dass ich hoffte, dass es einen besseren Weg gibt, das Rendite-Rendite-Muster zu verwalten.
Sie fragen nach 'Ertrag foreach', die nicht existiert. – SLaks
mögliches Duplikat von [Nested yield return with IEnumerable] (http://stackoverflow.com/questions/1270024/nested-yield-return-with-ienerable) – Euphoric
mögliches Duplikat von [Yield Return Many?] (Http: // stackoverflow .com/questions/3851997/yield-return-many) – nawfal