Byłem eksperymentujących z Linq aby zobaczyć, co może zrobić - i jestem naprawdę kochać go tak daleko :)LINQ odroczyć wykonanie z wartościami lokalnych
Napisałem kilka zapytań dla algorytmu, ale nie zrobił” t uzyskać oczekiwane rezultaty ja ... wyliczenia zawsze zwrócony pusty:
sprawa # 1
List<some_object> next = new List<some_object>();
some_object current = null;
var valid_next_links =
from candidate in next
where (current.toTime + TimeSpan.FromMinutes(5) <= candidate.fromTime)
orderby candidate.fromTime
select candidate;
current = something;
next = some_list_of_things;
foreach (some_object l in valid_next_links)
{
//do stuff with l
}
Zmieniłem zgłoszenia zapytania być inline tak, i to działa dobrze:
przypadek # 2
foreach (some_object l in
(from candidate in next
where (current.toTime + TimeSpan.FromMinutes(5) <= candidate.fromTime)
orderby candidate.fromTime
select candidate))
{
//do stuff with l
}
Czy ktoś wie dlaczego to nie działa w przypadku # 1? Sposób, w jaki to zrozumiałam, zapytanie nie było oceniane, gdy je zadeklarowałeś, więc nie widzę różnicy.