인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

jayLim님의 프로필 이미지
jayLim

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

트리 구현 연습

printTree 에서 마지막 리프노드일 경우 오류가 왜 나지 않나요?

해결된 질문

작성

·

224

0

 static void PrintTree(TreeNode<string>root)

        {

            Console.WriteLine(root.Data);

            foreach (TreeNode<string> child in root.Children)

                PrintTree(child);

        }

디자인팀에 전투노드가 루트에 들어가면 전투를 출력하고 children이 null이라서 오류가 발생된다고 생각했는데 아니 더라구요 foreach문 쓸때 null check가 필요없나요??

아니면 children멤버변수에 주소값이 들어가있고 리스트가 텅빈 상태여서 그런건가요??

답변 1

3

Rookiss님의 프로필 이미지
Rookiss
지식공유자

Children이 null은 아니고 빈 리스트라서, 
foreach에서 바로 빠져나오게 됩니다.

jayLim님의 프로필 이미지
jayLim
질문자

감사합니다

jayLim님의 프로필 이미지
jayLim

작성한 질문수

질문하기