C#&.NET/.NET Core的应用程序编程开发中,给定一个集合,有办法得到集合的最后N个元素吗?
如果框架中没有方法,那么编写扩展方法来实现这一点的最佳方法是什么? 使用LINQ又应该如何实现呢?
Rector
2021-11-07 提问
在.NET Core 2.0+,.NET Standard 2.1或者.NET 5等目标框架的程序来说,内置了TakeLast()的扩展方法,使用示例如下:
TakeLast()
输出结果为:
2021-11-06 回答
对于.NET Core 2以前的框架来说,LINQ没有提供查询集合最后N个元素的扩展方法,只能自己实现,比如:
封装成扩展方法如下:
调用示例:
以下是经过性能优化的使用LINQ从集合中取最后N个元素的扩展方法:
码龄: 3091天
专注.NET/.NET Core