Mam następujący scenariusz gdzie chcę dodać kilka elementów do listy ...List.AddRange z IEnumerable <T> parametr nie działa?
List<T> items = new List<T>();
IEnumerable<T> addItems = someCollection.Where(...);
items.AddRange(addItems);
Używając tego kodu, żadnych przedmiotów są dodawane do listy, ale jeśli dodać .ToList() po czym LINQ oświadczenie to elementy są dodawane poprawnie. Przypuszczam, że jest to spowodowane odroczonym wykonywaniem, ale myślę, że biorąc pod uwagę funkcję List.AddRange akceptuje IEnumerable, że wyliczy elementy do dodania.
Czy ktoś może wyjaśnić, dlaczego tak się dzieje?
To jest C#, prawda? – Antimony
Przepraszam, tak C# (4.0) – John
Jak widzisz "żadne przedmioty nie są dodawane", ponieważ powinien on dodawać przedmioty? –