linqを使用して階層コレクション内のアイテムの完全パスを取得する方法LINQ:階層構造コレクションアイテムのパスを取得します。
例:私はルートまでの親を反復指定された項目からのパスを取得したい
... item
{
... ID ...
... Name ...
... ParentID ...
}
:
私は次のタイプがあります。次のような:
ルート名/ .... /親名/商品名
たくさんありがとう。
linqを使用して階層コレクション内のアイテムの完全パスを取得する方法LINQ:階層構造コレクションアイテムのパスを取得します。
例:私はルートまでの親を反復指定された項目からのパスを取得したい
... item
{
... ID ...
... Name ...
... ParentID ...
}
:
私は次のタイプがあります。次のような:
ルート名/ .... /親名/商品名
たくさんありがとう。
これにLinqを使用する具体的な理由はありますか?これは、通常の古い再帰を使用するには良い場所のようになります。
static string GetPath(Item i) {
if (i.Parent == null)
return i.Name;
else
return GetPath(i.Parent) + "/" + i.Name;
}
Hereは、著者がツリーにLINQを呼び出し、技術上の良い記事です。
正確には必要ではないかもしれませんが、いくつかのアイデアがあります。
はそれが私はLINQが再帰クエリをサポートしているとは思わない
、私は彼らがで表現されている場合は(これは、データベースから構築することができない、これを構築するために、いくつかのクエリを必要とするだろうと思うホープ同様にdb)または[あなたはこれをチェックすることができます](http://www.scip.be/index.php?Page=ArticlesNET18) – V4Vendetta