次の構造の階層オブジェクトがあります。
public class Folder
{
public Folder Parent { get; set; }
public IList<Folder> Child { get; set; }
}
フォルダがルートフォルダの場合、親はになりますnull
。フォルダがルートでない場合、親はnot null
です。
フォルダの最終的な親を見つける必要があります。つまり、ルートフォルダ(not null
)が存在する場合はそれを見つける必要があります。
可能であれば、whileループを回避することをお勧めします。可能であれば、Linq式を使用してそれを実行したいと思います。