I know this thread is old... anyway, funny no-one mentioned .ToLast() yet.
I'm doing something where linq is not much more than a glorified foreach driving some side effects where I don't really care about the query result... so I didn't want to allocate any more bogus memory than necessary.