2009-05-12 8 views

Antwort

8

Mit anonymen Delegaten:

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

Die gleiche, aber mit C# 3.0 lambdas :

Guid feedID = ...; 
RssFeedDocument document = 
    listOfRssFeedDocuments.Find(rfd => rfd.FeedId == feedID); 
2

Unter der Annahme, können Sie die IEnumerable<T> Erweiterungsmethoden verwenden, ich glaube, der einfachste Weg, tatsächlich Where zu verwenden ist:

listOfRssFeedDocument.Where(doc => doc.FeedId == someId); 
0
List<RssFeedDocument> filteredList = listOfRssFeedDocument.Find(delegate(RssFeedDocument d) { return d.FeedId = x; }); 

Referenz: List<T>.Find

0

Wenn Sie nicht in der Lage sind LINQ verwenden Sie etwas entlang der Linien von verwenden:

RssFeedDocument fd = ListName.Find(delegate(RssFeedDocument doc) { return doc.FeedID == someVariable; });