Nested Lists Linq返回1个最终列表

本文关键字:列表 1个 返回 Lists Linq Nested | 更新日期: 2023-09-27 18:25:45

我们有一个包含嵌套列表的列表,即

public class Question
{
  public string Question { get; set;}
  public List<Tag> Tags { get; set; }
}
public class Tag
{
  public string TagName { get; set;}
  public string TagDescription { get; set;}
}

然后我们有一个过程,GetQuestions()返回问题列表

public List<Tag> QuestionTags(int Type)
{
DAQuestions da = new DAQuestions();
var t = (from d in da.GetQuestions(Type)
               )
                select d.Tags).ToList();
}

我们试图实现的是返回1个明确的标签列表(没有重复)。

我们目前返回的是

List<List<Tag>>

Nested Lists Linq返回1个最终列表

您需要使用这样的东西:

da.GetQuestions(Type).SelectMany(q => q.Tags).Distinct().ToList();

Distinct依赖于查询提供程序来过滤掉相同的标记,所以它取决于您使用的OR/M。