我有一个包含对父对象的引用的类
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); }
}