البحث عن كائن في القائمة العامة مع أسلوب بحث
سؤال
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 lambdas:
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; });
والمرجعي: List<T>
.Find
إذا لم تكن قادرا على استخدام LINQ هل يمكن استخدام شيء على غرار:
RssFeedDocument fd = ListName.Find(delegate(RssFeedDocument doc) { return doc.FeedID == someVariable; });
لا تنتمي إلى StackOverflow