内のすべての項目をカウントするために、私は以下のように定義単純なクラスを持っています。現時点では、私は深刻な精神的なブロックを持っています。私はちょうどリストを通してitereateし、MyClassのすべての発生を数える必要があります。 SubEntriesプロパティには0以上のエントリを含む0以上のエントリが含まれる可能性があるので、LINQがこれを行うためのメカニズムを提供していない限り、何らかの再帰メソッドが必要です。メソッドは、階層型のオブジェクトリスト
この精神的なログジャムを解放するための助けをいただければ幸いです。
public class MyClass
{
public List<MyClass> SubEntries { get; set; }
public int SubEntryCount
{
get { return 1 + SubEntries.Sum(x => x.SubEntryCount); }
}
}
それはそれはです明らかだように、あなたはそれを名前を変更することがあります。あなたは、ツリーを下に再帰気にしないと仮定すると、リストを仮定することは常に非nullで、サイクルを持っていない
構造内にサイクルを許可しますか? – Grzenio
いいえ、この場合は必要ありません。 –