https://codedefault.com/2018/using-linq-to-get-the-last-n-elements-of-a-collection-in-csharp-application 方案一 collection.Skip(Math.Max(0, collection.Count() - N)); 我们也可以把它写成一个静态扩展方法,如: public static class MiscExtensions { public static IEnumerable<T> TakeLast<T>(this IEnumerable<T> source, int N) { return source.Skip(Math.Max(0, source.Count() - N)); } } 调用方法: collection.TakeLast(5); 方案二