我在列表中找不到任何FindAll方法,如何从列表中选择响应特定条件的对象,而不使用旧的迭代方法?
List<oPage> mylist = new List<oPage>();
我的oPage类有一个名为Title of type string的属性。
我在myList中添加了一些oPage项。
现在我想选择mylist中包含单词'abc'的所有项目,并返回IEnumerable中的所有项目。
怎么可能?
感谢您的帮助。
答案 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");
}
);