惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
D
Docker
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
腾讯CDC
P
Proofpoint News Feed
A
About on SuperTechFans
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
Google DeepMind News
Google DeepMind News
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
MyScale Blog
MyScale Blog
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
Microsoft Azure Blog
Microsoft Azure Blog
N
Netflix TechBlog - Medium
G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - 破甲

转:Chrome调试工具介绍 转:一组jQuery插件的连接 动态的链式传递执行 关于导出属性 Aop中动态横切与静态横切 老张的灵魂——敏捷回顾 LINQ to SQL(LINQ2SQL) vs. ADO.NET Entity Framework(ADOEF)-ccBoy版 ---阅读笔记 linq to sql 与linq to entities的选择 linq to sql 算ORM吗? 匿名方法实现(转) Oracle的并发多版本 读一致性 共享锁 排他锁 LING与HQL(三) LINQ与HQL (二) LINQ 与 HQL (一) C# 3.0的新特性(一) 挖掘ADO.NET Entity框架的性能 castle ar 的update方法!! HQL查询中的几个函数
System.Linq扩张方法Where (Lambda表达式)
破甲 · 2008-03-27 · via 博客园 - 破甲

简单的 Where,实现可能如下:
public static List<T> Where (this List<T> list,委托 delegate)
{
     List<T>  tmpList = new List<T> ();
     foreach( T p in list){
        if(delegate(p)){   
          tmpList.add(p);
         }
    }
     return tmpList;
 }

List<Person> persons = new List<Person> {"sds","sdsd"};

下面分别使用

Lambda表达式和匿名方法
List<Person>  tmp = persons.Where(p=>p.Name =="sds");
等于List<Person>  tmp = persons.Where((Person p)=>p.Name =="sds"); //编译器
还等于List<Person>  tmp = persons.Where(Delegate(Person p) {
                                                                       return p.Name =="sds";
                                                                   })不过linq to object采用的是延迟查询;在看下面一例:

  static void Main(string[] args)
  {
    var ints = new int[] { 1, 2, 3, 4, 5, 6 };
    IEnumerable<int>  q = from i in ints select i;

   foreach(............)
  }
  此时的q并未返回查询的结果,而是返回一个IEnumerable<int>,以使foreach可以工作;

这里有准确的说法:

http://blog.joycode.com/scottgu/archive/2007/04/09/100744.aspx