문제

간단한 클래스가 다음과 같이 정의됩니다.

public class MyClass
{
   //Some properties
   public List<MyClass> SubEntries { get; set; }
   //Some more properties
}

다른 수업에는 위의 유형의 목록이 있습니다. 현재 나는 심각한 정신적 블록을 가지고 있습니다. 목록을 반복하고 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); }
    }
}

당신은 그것이 그것이 직계 자녀뿐만 아니라 하위 엔트리 수.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top