如何比较列表中的变量作为另一个列表中包含的类的对象?

时间:2012-09-29 19:55:36

标签: c# list listview comparison

列表中包含的类:

List<Artists> TopArtistsByTags = new List<Artists>();

那堂课:

public class Artists
{
    public string ArtistName { get; set; }
    public List<string> Tags;
}

我希望通过比较ArtistName中的项目的重复项来获得所有List<string> Tags(可能将这些项目作为类?所以我将它们作为项目和子项目添加到{{ 1}})。

1 个答案:

答案 0 :(得分:0)

我认为这就是你要找的东西:

List<Artists> artists = //the list of artists
var tags = artists.SelectMany(x => x.Tags).Distinct();
foreach (var tag in tags)
{
    var artistsWithThisTag = artists.Where(x => x.Tags.Contains(tag));
    //do something with artistsWithThisTag
}

这肯定会有所改善,但如果您发现这是一个问题,您应该只关心它。