在.NET 2.0中按ID比较两个通用列表

时间:2011-09-23 18:52:47

标签: list generics .net-2.0

我发帖是因为我找不到好的ASP.NET 2.0示例。

我想要比较两个列表:

清单1:

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

文章有ID

清单2:

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

TaggedContent有ContentID

我想找到所有具有匹配文章ID和标签的标签 返回字符串TaggedContent.TagName

返回值为List<string>的{​​{1}}。

我正在使用ASP.NET 2.0(对不起!)。

有人可以帮忙吗?谢谢。

2 个答案:

答案 0 :(得分:0)

嗯,显然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);
    }
}

换句话说,使用字典作为从ID到名称的中间查找。如果有任何混淆,请告诉我。

答案 1 :(得分:0)

忘了这个:

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

几年前使用过它。