Chciałbym użyć funkcji LINQ TakeWhile
na LINQ do obiektów. Jednak muszę również znać pierwszy element, który "zepsuł" funkcję, tj. Pierwszy element, w którym warunek nie był prawdziwy.TakeWhile, ale otrzymaj element, który zatrzymał to także
Czy istnieje jedna funkcja do uzyskania wszystkich obiektów, które nie pasują, plus pierwsza, która nie pasuje?
Na przykład, biorąc pod uwagę zestaw {1,2,3,4,5,6,7,8}
,
mySet.MagicTakeWhile(x => x != 5);
=> {1,2,3,4,5}
można napisać metodę takiego łatwo, ale to nie będzie „leniwe”, ponieważ trzeba znać położenie ostatniego elementu w celu uzyskania następnego. –
[To pytanie] (https://stackoverflow.com/q/2242318/241211) nie jest do końca duplikatem, ale udostępnia [odpowiedź]. (Https://stackoverflow.com/a/6817553/241211) – Michael