• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

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

21.10.20 19:29 작성 조회수 138

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

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

jayLim님의 프로필

jayLim

질문자

2021.10.20

감사합니다