我無法在列表中找到任何FindAll方法,我如何從列表中選擇對象響應特定條件而不使用舊的迭代方法?findall在列表中<T>
List<oPage> mylist = new List<oPage>();
我的oPage類有一個名爲Title類型的屬性。
我在myList中添加了一些oPage項。
現在我想選擇mylist中包含單詞'abc'的標題中的所有項目,並返回IEnumerable中的所有項目。
怎麼可能?
感謝您的幫助。
我無法在列表中找到任何FindAll方法,我如何從列表中選擇對象響應特定條件而不使用舊的迭代方法?findall在列表中<T>
List<oPage> mylist = new List<oPage>();
我的oPage類有一個名爲Title類型的屬性。
我在myList中添加了一些oPage項。
現在我想選擇mylist中包含單詞'abc'的標題中的所有項目,並返回IEnumerable中的所有項目。
怎麼可能?
感謝您的幫助。
如果您使用.NET 3.5或更高版本,你可以使用LINQ來做到這一點
mylist.Where(p => p.Title.Contains("abc"));
的的FindAll方法返回一個List
,但你可以只投的結果,一個IEnumerable<oPage>
:
List<oPage> mylist = GetYourList();
IEnumerable<oPage> results = (IEnumerable<oPage>)myList.FindAll(
delegate(oPage p)
{
return p.Title.Contains("abc");
}
);
是的,正好。如果您使用的是C#3.0+,請儘量使用lambda表達式而不是匿名委託。 – Noldorin 2010-07-08 09:34:48
用什麼編程語言? – pakore 2010-07-08 09:25:27
您使用的是什麼版本的.Net框架? – GenericTypeTea 2010-07-08 09:35:06