class Cache
{
int sizeOfCache;//no of RssFeedDocument
private List<RssFeedDocument> listOfRssFeedDocument = null;
}
RssFeedDocument
のプロパティに基づいて、クラス内のこのジェネリックリストでオブジェクトを検索したいと思いますFeedId
。
匿名デリゲートの使用:
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);
拡張メソッドを使用できると仮定するIEnumerable<T>
と、最も簡単な方法は実際に使用することだと思いますWhere
:
listOfRssFeedDocument.Where(doc => doc.FeedId == someId);
List<RssFeedDocument> filteredList = listOfRssFeedDocument.Find(delegate(RssFeedDocument d) { return d.FeedId = x; });
LINQ を使用できない場合は、次のようなものを使用できます。
RssFeedDocument fd = ListName.Find(delegate(RssFeedDocument doc) { return doc.FeedID == someVariable; });