Сравнение двух общих списков по идентификатору в .NET 2.0 - PullRequest
1 голос
/ 23 сентября 2011

Я пишу, потому что не могу найти хорошие примеры ASP.NET 2.0 для этого.

У меня есть два списка, которые я хочу сравнить:

Список 1:

List<Article> articleResult = new List<Article>();

Артикул имеет ID

Список 2:

List<TaggedContent> tagResult = new List<TaggedContent>();

TaggedContent имеет ContentID

Я хочу найти все теги, которые имеют соответствующий идентификатор статьи и вернуть строку TaggedContent.TagName

Возвращаемое значение: List<string> из TagName.

Я использую ASP.NET 2.0 (извините!).

Может кто-нибудь помочь? Спасибо вам.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2011

Забыл об этом:

http://www.albahari.com/nutshell/linqbridge.aspx

Использовали его раньше, несколько лет назад.

0 голосов
/ 23 сентября 2011

Ну, очевидно, было бы немного проще с LINQ, но эй ... Я бы, наверное, написал:

Dictionary<int, string> tags = new Dictionary<int, string>();
foreach (TaggedContent content in tagResult)
{
    tags[content.ContentID] = content.TagName;
}

List<string> matchingTagNames = new List<string>();
foreach (Article article in articleResult)
{
    string name;
    if (tags.TryGetValue(article.ID, out name))
    {
        matchingTagNames.Add(name);
    }
}

Другими словами, используйте словарь в качестве промежуточного поиска от идентификатора к имени.Дайте мне знать, если что-то из этого сбивает с толку.

...