在List <t> </t>中查找

时间:2010-07-08 09:24:17

标签: c# .net list ienumerable

我在列表中找不到任何FindAll方法,如何从列表中选择响应特定条件的对象,而不使用旧的迭代方法?

List<oPage> mylist = new List<oPage>();

我的oPage类有一个名为Title of type string的属性。

我在myList中添加了一些oPage项。

现在我想选择mylist中包含单词'abc'的所有项目,并返回IEnumerable中的所有项目。

怎么可能?

感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

如果您使用的是.NET 3.5或更高版本,则可以使用LINQ来执行此操作

mylist.Where(p => p.Title.Contains("abc"));

答案 1 :(得分:2)

FindAll方法返回List,但您只需将结果转换为IEnumerable<oPage>

List<oPage> mylist = GetYourList();

IEnumerable<oPage> results = (IEnumerable<oPage>)myList.FindAll(
   delegate(oPage p)
   {
      return p.Title.Contains("abc");
   }
);