LINQ之前的旧集合查询

本文关键字:集合 查询 LINQ | 更新日期: 2023-09-27 18:21:44

我想介绍一下LINQ,并想介绍一下查询集合过去是如何工作的。回到.Net 1.1中,我似乎记得有一个方法(Find()可能吗?)在那里,您将传递另一个方法的地址,该方法将询问集合中的每个项,并确定它是否应包含在筛选的集合中。

我是不是完全记错了?它一直困扰着我,因为当时的语法很不寻常。

我以为是这样的:

public bool ContainsFoo(string term){
    if(term.contains("Foo"){
       return true;
    }
    return false;
}

你可以这样称呼它:

 filteredCollection = collection.Find(ContainsFoo);

我似乎记得很多人评论说,LINQ是如何更快地编写代码的,因为开发人员现在可以在线编写函数了。我们以前是如何"离线"编写函数的?

LINQ之前的旧集合查询

在LINQ之前,您仅限于所有内置的List/List<T>方法,是的,Find是其中之一(仍然是)。不同的是,它期望Predicate<T>,而不是Func<Boolean, T>,你仍然可以内联,例如

var found = list.Find(delegate(Item item) { return item != null; });

或者使用命名方法进行演示。