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 ラムダを使用します。

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 に答える