繁体   English   中英

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

[英]How to get comparison of variable in lists as objects of class contained in another list?

列表中包含的类:

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

该课:

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

我希望通过比较List<string> Tags中项目的匹配重复项来获取所有ArtistName (也许将此项目作为类?所以我将它们既作为项目又作为子项目添加到listView )。

我认为这是您要寻找的:

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
}

它的性能肯定可以得到改善,但是如果发现问题,则应该只关心它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM