嵌套 LINQ 查询以按其子对象属性过滤对象

切马·希门尼斯

我是 Linq 的新手,如果您能提供一些帮助,我将不胜感激。我有一组节点,它们有一组路径。每个路径都有一个表示字符串和数字的属性。

在此处输入图片说明

我需要的是获取包含任何路径的所有节点,其路径字符串与给定的字符串匹配,并按匹配路径的数值对结果集合进行排序。

我更喜欢使用 linq C# sintax (x => x.xxxx)

提前谢谢了!

用户1781290

您需要创建一对原始节点和匹配字符串的路径,以便您可以对结果进行排序并在之后取回节点

Nodes
   .Select(n => new { Node = n, Path = n.Paths.FirstOrDefault(p => p.item1 == s) })
   .Where(x => x.Path != null)
   .OrderBy(x => x.Path.item2)
   .Select(x => x.Node)

我假设 Path-strings 在这里是唯一的。如果您需要所有匹配路径中最低/最高的 item2,我会考虑不使用 LINQ,因为表达式变得非常复杂

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章