Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LINQ:在层次对象中选择“深”吗?选择具有相同父级的所有子级?_Linq_Linq To Objects - Fatal编程技术网

LINQ:在层次对象中选择“深”吗?选择具有相同父级的所有子级?

LINQ:在层次对象中选择“深”吗?选择具有相同父级的所有子级?,linq,linq-to-objects,Linq,Linq To Objects,有人能帮忙吗 我目前有一个名为Member的类文件,它存储一个对象引用及其父对象引用。然后我有一个包含许多成员的列表。它非常像一个平面文件系统,但它与linq配合得非常好,正如我所看到的,使用父属性的对象引用字段,给我所有父对象为X的child 现在,我正在考虑重新创建我的类文件,并添加一个新字段,该字段将保存一个成员列表并删除父属性-这样,我只有一个对象,但还有其他对象具有此对象。希望这有意义- 所以,如果我有这个新对象,我如何使用linq来获取特定父对象的所有子对象?直系后裔?是否可以将文件

有人能帮忙吗

我目前有一个名为Member的类文件,它存储一个对象引用及其父对象引用。然后我有一个包含许多成员的列表。它非常像一个平面文件系统,但它与linq配合得非常好,正如我所看到的,使用父属性的对象引用字段,给我所有父对象为X的child

现在,我正在考虑重新创建我的类文件,并添加一个新字段,该字段将保存一个成员列表并删除父属性-这样,我只有一个对象,但还有其他对象具有此对象。希望这有意义-

所以,如果我有这个新对象,我如何使用linq来获取特定父对象的所有子对象?直系后裔?是否可以将文件展平,即返回作为列表一部分的单个对象的项目

我很想听到任何人对哪种方法更好的评论,即我现在所拥有的和层次方法


提前感谢

无论何时进行分层收集,请记住有多种不同的数据结构来处理此类问题。有一个相当复杂,但提供惊人的性能。它基本上由包含整个集合的字典键控整数组成。对象本身保持一个父关系,并且有一个延迟加载的HashSet子集合。这允许您轻松获取树的任何级别上任何对象的父对象或子对象的集合


不过,这些评论是正确的。如果没有一些samel代码,我就不能给你一个这样的例子。这都是理论性的。

示例代码会很好,否则这都是假设我同意@BrokenGlass,如果您提供代码示例来说明您的问题,它会让您的意图更加清晰。