LINQ:连接/联合多个序列

发布于 2024-11-03 08:58:17 字数 709 浏览 0 评论 0原文

给定以下类

public class Entity
{
  public IList<Tag> Tags { get; set; }
}

,在我的存储库中,我想获取所有 Entity 的所有(不同的)Tag,除了

public class Repository()
{
  public IList<Tag> GetAllTags()
  {
    List<Tag> tags = new List<Tag>();
    var entities = _session.GetAllEntities();
    foreach (var entity in entities)
    {
      tags.AddRange(entity.Tags);
    }
    return tags.Distinct().ToList();
  }
}

以下方法之外,还有其他方法可以做到这一点吗?

public class Repository()
{
  public IList<Tag> GetAllTags()
  {
    _session.GetAllEntities().Select(x => x.Tags).....Distinct().ToList()
  }
}

Given the following class

public class Entity
{
  public IList<Tag> Tags { get; set; }
}

and in my repository I want to get all (distinct) Tags of all Entitys, is there a way to do this other than

public class Repository()
{
  public IList<Tag> GetAllTags()
  {
    List<Tag> tags = new List<Tag>();
    var entities = _session.GetAllEntities();
    foreach (var entity in entities)
    {
      tags.AddRange(entity.Tags);
    }
    return tags.Distinct().ToList();
  }
}

such as

public class Repository()
{
  public IList<Tag> GetAllTags()
  {
    _session.GetAllEntities().Select(x => x.Tags).....Distinct().ToList()
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别念他 2024-11-10 08:58:17
public class Repository()
{
  public IList<Tag> GetAllTags()
  {
    var entities = _session.GetAllEntities();
    return entities.SelectMany(e => e.Tags).Distinct().ToList();
  }
}
public class Repository()
{
  public IList<Tag> GetAllTags()
  {
    var entities = _session.GetAllEntities();
    return entities.SelectMany(e => e.Tags).Distinct().ToList();
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文