//List<T>.Take(m)      //取出 前m行

IEnumerable<Person> takeList = lstPerson.Take(4);

foreach (Person s in takeList) { Console.WriteLine("element in takeList: " + s); }

//List<T>.Where()

Console.WriteLine("找出Name='puma'的Person ");

IEnumerable<Person> whereList = lstPerson.Where(name => { if (name.Name == "puma") { return true; } else { return false; } });

Console.WriteLine(lstPerson.Where(name => { if (name.Name == "puma") { return true; } else { return false; } }));

foreach (Person s in lstPerson) { Console.WriteLine("element in subList: " + s); }

//List<T>.Find()              //找出Name='puma'的Person

Console.WriteLine("找出Name='puma'的Person→ ");

Console.WriteLine(lstPerson.Find(delegate (Person p) { return p.Name == "puma"; }).ToString() + "<p>");

//List<T>.FindAll()              //找出Age>10的數目

Console.WriteLine("找出Age>10的數目→ ");

Console.WriteLine(lstPerson.FindAll(delegate (Person p) { return p.Age > 10; }).Count.ToString() + "<p>");

//List<T>.Exists()              //檢查Name='F6'是否存在

Console.WriteLine("檢查Name='F6'是否存在→ ");

Console.WriteLine(lstPerson.Exists(delegate (Person p) { return p.Name == "F6"; }).ToString() + "<p>");

//依Name升冪排序

Console.WriteLine("<p>依Name升冪排序↑<br/>");

lstPerson.Sort(delegate (Person p1, Person p2) { return Comparer<string>.Default.Compare(p1.Name, p2.Name); });

foreach (Person p in lstPerson)             {                 Console.WriteLine(p.ToString() + "<br/>");             }

//List<T>.Sort()              //依Name降冪排序

Console.WriteLine("<p>依Name降冪排序↓<br/>");

lstPerson.Sort(delegate (Person p1, Person p2) { return Comparer<string>.Default.Compare(p2.Name, p1.Name); });

foreach (Person p in lstPerson)             {                 Console.WriteLine(p.ToString() + "<br/>");             }

public class Person     {         private int _ID;         private string _Name;         private int _Age;

public Person(int ID, string Name, int Age)         {             _ID = ID;             _Name = Name;             _Age = Age;         }

public int ID         {             set { _ID = value; }             get { return _ID; }         }         public string Name         {             set { _Name = value; }             get { return _Name; }         }         public int Age         {             set { _Age = value; }             get { return _Age; }         }

public override string ToString()         {             return string.Format("ID:{0},Name:{1},Age:{2}", _ID, _Name, _Age);         }

}

List<T> 的扩展方法的更多相关文章

  1. .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法

    .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...

  2. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

  3. 为IEnumerable<T>添加RemoveAll<IEnumerable<T>>扩展方法--高性能篇

    最近写代码,遇到一个问题,微软基于List<T>自带的方法是public bool Remove(T item);,可是有时候我们可能会用到诸如RemoveAll<IEnumerab ...

  4. C#的扩展方法解析

    在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到. 继承的有关特性的使用所带来的问题:对象的继 ...

  5. 扩展方法(C#)

    扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 下面的示例为String添加 ...

  6. 扩展方法解决LinqToSql Contains超过2100行报错问题

    1.扩展方法 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

  7. C#扩展方法

    扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法就相当于一个马甲,给一个现有类套上,就可以为这个类添加其他方法了. 马甲必须定义为stati ...

  8. 枚举扩展方法获取枚举Description

    枚举扩展方法 /// <summary> /// 扩展方法,获得枚举的Description /// </summary> /// <param name="v ...

  9. 扩展方法 1 简单的string扩展方法

    这里是关于 String的简单扩展方法 (静态类 静态方法 this 类型 这里是string) static class Program { static void Main(string[] ar ...

  10. C#中的扩展方法

    扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 以上是msdn官网对扩展方 ...

随机推荐

  1. python 安装模块之pip install +模块名的换源写法

    1.采用国内源,加速下载模块的速度2.常用pip源(上一篇博客介绍过):– 豆瓣:https://pypi.douban.com/simple– 阿里:https://mirrors.aliyun.c ...

  2. React 导入组件前段浏览器报错 “Cannot read property 'Component' of undefined”

    问题出在这个花括号上,当你写{React}的时候,他只会导入React,并不会导入下面你要用到的Component组件, 所以,将括号去掉就可以了. 别忘记保存.

  3. 机器学习的hello world——MNIST

    MNIST:一个由60000行训练数据集和10000行的测试数据集(机器学习模型设计时必须有一个单独的数据集用于评估模型的性能)组成的数据集. 下载mnist的数据集后,将文件放入C:\Users\m ...

  4. Web快速输入标签

    在书写web代码的时候,掌握一些快捷输入方式不仅可以提高效率,还能省不少力气. 1. > :下一个子标签,如 div>p 加Tab达到: <div><p></ ...

  5. 基于Kubernetes服务发现机制的探讨Non Service

    服务注册 注册中⼼作为一般的RPC/Web服务中的底层设施提供了服务进程元数据(IP, Port, Interface, Group,Method等)存储,被Watch的功能,每个服务进程均需接⼊同⼀ ...

  6. iOS中的事件响应链、单例模式、工厂模式、观察者模式

    学习内容 欢迎关注我的iOS学习总结--每天学一点iOS:https://github.com/practiceqian/one-day-one-iOS-summary iOS中事件传递和相应机制 i ...

  7. MySQL 查询当天、本周,本月、上一个月的数据

    mysql查询当天的所有信息: SELECT * FROM 表名 WHERE year(时间字段名)=year(now()) and month(时间字段名) = month(now()) and d ...

  8. pod install update没有反应

    出去是镜像的问题,我用的是外网,所以应该不是镜像的问题, 换用这个: pod install --verbose --no-repo-update pod update --verbose --no- ...

  9. 一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接

    [一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的下载,而且不能直观的知道最近电影更新的状态. 今天小编以电影天堂为例,带大家更直观的去看自己喜欢的电影,并且下载下来 ...

  10. 黑马程序员_毕向东_Java基础视频教程——转义字符(随笔)

    转义字符 转义字符 通过 \ 来转变后面的字母或符号的含义 \n :换行 \b :退格.相当于 backspace \r : 相当于回车键. Windows系统中,回车是由两个字符来表示 \r \n. ...