3
class Cache
{
    int sizeOfCache;//no of RssFeedDocument 
    private List<RssFeedDocument> listOfRssFeedDocument = null;
}

我想根据RssFeedDocument的属性在类中的这个通用列表中找到一个对象FeedId

4

4 回答 4

8

使用匿名委托:

Guid feedID = ...;
RssFeedDocument document = listOfRssFeedDocuments.Find(
    delegate(RssFeedDocument rfd)
    { return rfd.FeedId == feedID; });

相同,但使用 C# 3.0 lambda:

Guid feedID = ...;
RssFeedDocument document = 
    listOfRssFeedDocuments.Find(rfd => rfd.FeedId == feedID);
于 2009-05-12T11:18:08.003 回答
2

假设您可以使用IEnumerable<T>扩展方法,我认为最简单的方法实际上是使用Where

listOfRssFeedDocument.Where(doc => doc.FeedId == someId);
于 2009-05-12T11:17:30.313 回答
0
List<RssFeedDocument> filteredList = listOfRssFeedDocument.Find(delegate(RssFeedDocument d) { return d.FeedId = x; });

参考:List <T>.Find

于 2009-05-12T11:18:43.573 回答
0

如果您无法使用 LINQ,则可以使用以下内容:

RssFeedDocument fd = ListName.Find(delegate(RssFeedDocument doc) { return doc.FeedID == someVariable; });
于 2009-05-12T11:19:52.417 回答