집 >백엔드 개발 >C++ >LINQ를 사용하여 트리 구조와 필터를 평평하게하는 방법은 무엇입니까?
LINQ를 사용하여 트리 구조와 필터를 평평하게하는 방법은 무엇입니까?
Patricia Arquette원래의
2025-01-29 00:51:14274검색
린크 플랫 형태의 트리 구조를 사용하고 속성 에 따라 필터를 사용하십시오.
트리 형태의 데이터 필드에서 계층 구조를 평평한 목록으로 변환해야합니다. 부모와 요소 속성이있는 계층화 된 클래스 모드가 있다고 가정하고 모든 MyNode 인스턴스를 단일 목록에서 추출하여 나무를 평평하게하려고합니다. 구체적으로, 당신은 그룹에서 1과 같은 노드를 얻는 데 관심이 있습니다. 다음 LINQ 쿼리는 솔루션을 제공합니다.
다음은 작동 원리입니다
concat (rootnodes)
: 오프 스프링의 평평한 목록을 원래 mynodes 목록에 연결하십시오.
where (node = & gt; node.group == 1) : 평평한 목록을 필터링하며 그룹 속성 1이있는 노드 만 포함합니다.