Biorąc pod uwagę granice List
są znane, czy .Last()
wylicza kolekcję?Czy lista <T> .Last() wylicza kolekcję?
Pytam o to, ponieważ documentation mówi, że jest ona zdefiniowana przez Enumerable
(w którym to przypadku byłoby trzeba wyliczyć kolekcję)
Jeśli ma wyliczyć kolekcję to mogę po prostu przejść ostatni Element o indeksie (jak wiemy .Count
o List<T>
), ale wydaje się głupie to zrobić ....
Jeśli wiesz, że masz 'Lista', a potem po prostu dostęp do ostatniego elementu w szybki sposób, bez konieczności korzystania z możliwych non-udokumentowanych optymalizacje w 'Last()'. (Tak się składa, że 'Last()' * does * sprawdza, czy odbiornik implementuje 'IList ' i optymalizuje ten przypadek.) –
dlev
@dlev tak, jak już wspomniałem, jestem świadomy, że mogę to zrobić ... pytam w szczególności o implementację '.Last' – Matthew
Jestem prawie pewny, że implementacja sprawdza' List 'i dostęp do ostatniego elementu przez indeks, jeśli to możliwe. –
Lee