注意:我错过了您的问题标题“ 使用Linq”,因此我的答案实际上并未使用Linq。

如果要避免缓存整个集合的非惰性副本,则可以编写一个使用链接列表执行此操作的简单方法。

以下方法将在原始集合中找到的每个值添加到链接列表中,并将链接列表缩小为所需的项目数。由于它通过遍历整个集合始终将链接列表修剪为该项目数,因此它将仅保留原始集合中最多N个项目的副本。

它不需要您知道原始集合中的项目数,也不需要多次对其进行迭代。

用法:

IEnumerable sequence = Enumerable.Range(1, 10000);

IEnumerable last10 = sequence.TakeLast(10);

...

扩展方式:

public static class Extensions

{

public static IEnumerable TakeLast(this IEnumerable collection,

int n)

{

if (collection == null)

throw new ArgumentNullException("collection");

if (n < 0)

throw new ArgumentOutOfRangeException("n", "n must be 0 or greater");

LinkedList temp = new LinkedList();

foreach (var value in collection)

{

temp.AddLast(value);

if (temp.Count > n)

temp.RemoveFirst();

}

return temp;

}

}

linq判断集合中相同元素个数_使用Linq获取集合的最后N个元素?相关推荐

  1. C语言编程>第二十六周 ① 函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。

    例题:函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换.形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动. 例如,若a所指数组中的数据依次为:11 22 33 ...

  2. 有3个集合, 从其中一个集合中删除同时存在于另外两个集合的元素

    如下分享的邮件,在博客园做个记录,以便以后使用. 在这里,其实也想倡导一下程序员要具有的分享精神.鼓励大家多分享,平时有什么新的收获,最好在team里做个分享 .分享也是一种很好的事情.对团队来说,可 ...

  3. C语言试题三十五之找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

    1. 题目 请编写一个函数function,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回.主函数中x是数组名,n 是x中的数据个数,max存放最大值,i ...

  4. c语言两个线性表la lb,有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合...

    <有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合>由会员分享,可在线阅读,更多相关<有两个集合用两个线性表LA和LB表示即线性表中的数据元 ...

  5. python删除元素del 可以删除部分元素吗_可以使用del删除集合中的部分元素。

    [判断题]Python集合可以包含相同的元素.(3.0分) [单选题]student = dict(姓名='张三', 年龄=20, 性别='男'),则student.get("name&qu ...

  6. winform 统计大量数据重复的元素个数_面试系列:十个海量数据处理方法大总结...

    本文将简单总结下一些处理海量数据问题的常见方法.当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题.下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定 ...

  7. autolisp统计相同元素个数_统计学习基础知识

    统计:广义上讲,统计是一门"收集.整理.分析和解释数据或信息的科学".统计是有关数据的科学,设计数据的收集.分类.汇总.分析以及数字信息的解释. 统计方法是一种用于研究.分析和学习 ...

  8. c语言用字符串统计一个整数中数字的个数_全国计算机等级考试二级C语言

    590. 在 C 程序中,用_____表示逻辑值"真". A) 1 B) 非 0 的数 C) 非 1 的数 D) 大于 0 的数 正确答案:B 591. 假设变量已正确定义,表达式 ...

  9. python统计数组元素个数_统计二维数组里元素的个数

    记录一下一个问题的解决,里面涉及几个函数的用法,当作复习啦. 先说明一下问题.数据表里面的字段 content 存储了一个以逗号分割的字符串,最大有20个数,最大数字为40.比如3,24,33,40类 ...

  10. 微信小程序wxml如何判断字符串中汉语某字符_微信小程序开发经典案例解析“嗨兔儿”...

    嗨兔儿是微信公众号嗨日语歌(hitaici)助手,主要为用户提供,关键词检索,帮助手册等,为外语学习者提供一个便捷的操作方式,能够开心工作,开心生活. 开发过程及注意事项分享视频. 1. 微信小程序开 ...

最新文章

  1. 20155301 滕树晨linux基础——linux进程间通信(IPC)机制总结
  2. unix,linux,windows 哪个更好,更适合做服务器
  3. zookeeper源码分析之二客户端启动
  4. Imageloader6-mUIHandler的初始化
  5. mysql enum和set_mysql enum和set字段类型的使用
  6. 进入“高画质手游时代”?《天谕》手游首次采用的这项技术有多强大
  7. 使用PreloadJS加载图片资源
  8. jquery可见性选择器(综合)
  9. 【ios】开发者笔记之迈出第一步
  10. 两个fetion飞信API
  11. ++x 和 x++的区别
  12. CSS3下的菜单效果
  13. android社交软件源码,Android 社交App+java web后台整套源代码
  14. 首个步态识别框架开源了
  15. discuz二次开发 教你识别程序目录和文件列表
  16. 猴子定律--如何跳出你深陷的棋局看趋势
  17. 海康威视2019校招
  18. 微信小程序云端解决方案探索之路
  19. 电子邮件地址怎么写,国内电子邮件服务商有哪些,怎么申请注册邮件地址大全账号?
  20. 史上最详细Mysql免安装版教程

热门文章

  1. django视图(views)
  2. QBXT Day 4 数学,数论
  3. 字符串的操作,计算,拼接
  4. WPF中,输入完密码回车提交 ,回车触发按钮点击事件
  5. BZOJ4598 [Sdoi2016]模式字符串 【点分治 + hash】
  6. 处理Easyui的Datagrid无法及时刷新问题
  7. Base64序列化和反序列化
  8. 关于以主机命名的网站集
  9. 拓端tecdat:R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化
  10. 拓端tecdat|R语言状态空间模型:卡尔曼滤波器KFAS建模时间序列