LINQ筛选器列表(按嵌套集合)

迈克尔·科斯蒂琴科(Michael Kostiuchenko)

我有以下类层次结构:

public class SportPlan
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public List<Record> RecordFields { get; set; }
}

public class Record
{
    public Guid Key { get; set; }
    public string Alias { get; set; }
    public List<Value> Values { get; set; }
}

public class Value
{
    public int Index { get; set; }
    public List<DayOfWeek> DaysOfWeek { get; set; }
}

我需要SportPlan.RecordFields通过dayOfWeek(.NET枚举)进行筛选Value使用LINQ获取s的列表我尝试过类似的方法,但是它不起作用:

var filtredExercises = SportPlan.RecordFields.Select(x => x.Values.Where(v => v.DaysOfWeek.Equals(dayOfWeek))).ToList();
细菌

而不是Select,您需要使用Where来过滤列表。这样的事情应该接近您想要的:

var filteredExercises = SportPlan.RecordFields
                                 .Where(f => f.Values.Any(v => v.DaysOfWeek.Contains(dayOfWeek)))
                                 .ToList();

这将会给你所有Record具有A S Value,其中DaysOfWeek包含dayOfWeek你正在寻找。

相反,如果您需要这些Value对象,则可以使用以下方法:

var filteredExercises = SportPlan.RecordFields
                             .SelectMany(f => f.Values)
                             .Where(v => v.DaysOfWeek.Contains(dayOfWeek))
                             .ToList();

使用时SelectMany,我们首先将Value对象列表的列表展平为a IEnumerable<Value>,然后使用进行过滤dayOfWeek

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

LINQ筛选器按嵌套在3个列表中的属性进行过滤

来自分类Dev

Linq按标签列表筛选帖子

来自分类Dev

按数组中的项目筛选列表(LINQ)

来自分类Dev

Linq按标签列表筛选帖子

来自分类Dev

LINQ查询以按特定集合列表排序

来自分类Dev

c#Linq按嵌套列表的成员对列表进行排序

来自分类Dev

基于属性值的LINQ筛选器列表并同时筛选属性

来自分类Dev

筛选器列表SwiftUI

来自分类Dev

筛选器列表条目

来自分类Dev

按年份筛选Grails列表

来自分类Dev

动态Linq包含筛选列表

来自分类Dev

Linq至MongoDB筛选器

来自分类Dev

反转LINQ中的嵌套集合

来自分类Dev

反转LINQ中的嵌套集合

来自分类Dev

按集合过滤IEnumerable(Linq)

来自分类Dev

按集合过滤IEnumerable(Linq)

来自分类Dev

Linq到嵌套列表

来自分类Dev

嵌套类列表LINQ

来自分类Dev

深度嵌套属性上的BindingSource筛选器

来自分类Dev

使用linq筛选类似项目的列表

来自分类Dev

使用linq筛选列表以删除重复项

来自分类Dev

Linq 排序列表及其同一类的嵌套集合

来自分类Dev

Linq to Entities iQueryable筛选器基于筛选结果

来自分类Dev

Elasticsearch筛选器文档按字段分组

来自分类Dev

导航属性上的LINQ筛选器

来自分类Dev

如何使用linq动态筛选子集合

来自分类Dev

MongoDB按嵌套对象字段排序集合

来自分类Dev

在分页列表框中对集合进行排序和筛选

来自分类Dev

c#WPF筛选器控件列表