是否有一个LINQ语句来枚举所有父母?

时间:2015-01-16 21:24:32

标签: c# linq tree

我有一个包含对父对象的引用的类

class Joint 
{
    public Joint Parent { get; private set; }
}

给定一个Joint我可以使用

枚举链中的所有父对象
    public IEnumerable<Joint> ThisAndParentJoints
    {
        get
        {
            Joint joint=this;
            while(joint!=null)
            {
                yield return joint;
                joint=joint.Parent;
            }
        }
    }

有没有办法使用单个LINQ语句执行上述操作?

注意:我可以找到List<Joint> all

的所有子关节
public IEnumerable<Joint> ChildJoints { 
    get { return all.Where((jnt) => jnt.Parent==this); } 
}

0 个答案:

没有答案