Ich habe eine Frage mit denselben Beispielen - diese Frage konzentriert sich auf ein anderes Thema. Gegeben die folgenden Klassen:
%Vor% Wenn für Family
eine Methode definiert ist:
Ich muss in der Lage sein, das Prädikat über eine abgeflachte Liste von Person
auszuführen. Im obigen Beispiel verflacht SelectMany
die Liste nicht wie gewünscht. Das obige wird nicht kompiliert, da der abgeleitete Typ nicht bestimmt werden kann.
Wie kann ich die Family.Person-Sammlung dazu bringen, eine abgeflachte Personenliste zu werden?
Nach meinem Wissen ist der einfachste Weg, dies zu erreichen, ein Helfer.
%Vor%Sie können dann Ihr Prädikat für diese Liste ausführen:
%Vor% Sie brauchen nicht beide SelectMany
und yield return
- Sie brauchen das eine oder das andere:
ODER
%Vor% family.Person
ist bereits eine abgeflachte Liste; Sie müssen SelectMany
nicht aufrufen.
Auch können Sie einfacher tun:
%Vor%Tags und Links c# linq-to-objects