1、先定义一个Model类
    public class P1
    {
        public string name { get; set; }
        public int age { get; set; }
    }
    
2、定义一个扩展方法
    作用:用于处理集合数据,通过传入一个委托来实现
    注意,扩展方法必须定义在静态类中,而且方法本身也是静态的。
    public static class ExtendMethod
    {
        public static IEnumerable<P1> Filter1(this IEnumerable<P1> p1s, Func<P1, bool> param)
        {
            foreach (P1 item in p1s)
            {
                if (param(item))
                {
                    yield return item;
                }
            }
        }
    }
    
3、应用扩展方法处理数据,并且ForEach输出处理后的数据:
    IList<P1> lst = new List<P1>();
    lst.Add(new P1 { name = "张三", age = 19 });
    lst.Add(new P1 { name = "李四", age = 20 });
    lst.Add(new P1 { name = "王五", age = 28 });
    lst.Add(new P1 { name = "赵六", age = 30 });
  
 lst.Where(p => p.age > 18).Filter1(a => a.age <
30).ToList().ForEach((f) => { Console.WriteLine(f.name + "," +
f.age); });

Console.ReadKey();
    输出:

最新文章

  1. jQuery的DOM操作实例(1)——选项卡&amp;&amp;Tab切换
  2. Python之路,Day8 - Python基础 面向对象高级进阶与socket基础
  3. 关于UI系统的问题
  4. vim备忘
  5. [js开源组件开发]js手机联动选择日期 开源git
  6. Android 中SimpleDateFormat的使用注意
  7. java 中的断言assert的使用
  8. 在Delphi中,关于数组名称
  9. Install Asterisk 11 on Ubuntu 12.04 LTS
  10. 【双向广搜+逆序数优化】【HDU1043】【八数码】
  11. WinForm - 两个窗体之间的方法调用
  12. Struts2之环境配置
  13. linux下安装libcurl及开源库的一般安装步骤
  14. javascript 操作节点的属性
  15. HTTPie命令介绍
  16. Lodop打印连续的纸张
  17. Android NDK笔记
  18. scala 入门Eclipse环境搭建
  19. Storm集成Siddhi
  20. strncpy()函数【转】

热门文章

  1. mysql:启动服务时遇到的问题
  2. HearthBuddy BotManager
  3. Python——sklearn提供的自带的数据集
  4. hibernate对连接池的支持
  5. Python - 排序( 插入, 冒泡, 快速, 二分 )
  6. 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响
  7. Can&#39;t initialize physical volume &quot;/dev/sdb&quot; of volume group &quot;cinder-volumes&quot; without -ff /dev/sdb: physical volume not initialized.
  8. redis开启持久化、redis 数据备份与恢复
  9. .Netcore 2.0 Ocelot Api网关教程(4)- 服务发现
  10. Vue和其他框架的区别