class Cache
{
int sizeOfCache;//no of RssFeedDocument
private List<RssFeedDocument> listOfRssFeedDocument = null;
}
我想根据RssFeedDocument
的属性FeedId
在课堂上的这个通用列表中找到一个对象。
答案 0 :(得分:8)
使用匿名委托:
Guid feedID = ...;
RssFeedDocument document = listOfRssFeedDocuments.Find(
delegate(RssFeedDocument rfd)
{ return rfd.FeedId == feedID; });
同样,但使用C#3.0 lambdas:
Guid feedID = ...;
RssFeedDocument document =
listOfRssFeedDocuments.Find(rfd => rfd.FeedId == feedID);
答案 1 :(得分:2)
假设您可以使用IEnumerable<T>
扩展方法,我认为最简单的方法实际上是使用Where
:
listOfRssFeedDocument.Where(doc => doc.FeedId == someId);
答案 2 :(得分:0)
List<RssFeedDocument> filteredList = listOfRssFeedDocument.Find(delegate(RssFeedDocument d) { return d.FeedId = x; });
参考:List<T>
.Find
答案 3 :(得分:0)
如果您无法使用LINQ,您可以使用以下内容:
RssFeedDocument fd = ListName.Find(delegate(RssFeedDocument doc) { return doc.FeedID == someVariable; });