سؤال

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; });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top