2009-05-12 7 views

Répondre

8

Utilisation de délégué anonyme:

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

La même chose, mais avec C# 3.0 lambdas :

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

En supposant que vous pouvez utiliser les méthodes d'extension IEnumerable<T>, je pense que la façon la plus simple est en fait d'utiliser Where:

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

Référence: List<T>.Find

0

Si vous n'êtes pas en mesure d'utiliser LINQ, vous pouvez utiliser quelque chose le long des lignes de:

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