Hacker News new | ask | show | jobs
by zebracanevra 703 days ago
And you can find that specilisation here: https://source.dot.net/#System.Linq/System/Linq/Last.cs,80
1 comments

Why does the implementation of .Last not just check if .Count? It seems like there are things that don't implement IList but can still be indexed by the last entry?
In a strongly typed compiled language, how would you do so (in a type-safe and performant way) only knowing that the type is some IEnumerable<T> implementation and not a particular shape that may or may not adhere to the `T this[int i]` and `.Count //of T` contract?
Is using reflection for a quick property check that much of a performance hit? After all, avoiding it leads to footguns like this where someone didn't realize they were traversing an entire array.

I'm not well versed on this topic.