작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
363
0
17:27에서
int depth = r.Depth +1;
while(r.Read())
{
if(r.Depth != depth)
break;
} 코드가 이렇게 됐었는데
<packet name="PlayerInfoReq">
<long name ="playerId"/>
<string name ="name"/>
<list name ="skill">
<int name="id"/>
<short name ="level"/>
<float name ="duration"/>
</list>
</packet>
그러면 <list name = "skill"> 다음 줄을 들어갈때는 while에서 빠져나가게 되는거 아닌가요
답변 1
1
int depth = r.Depth +1;
즉 depth가 +1 일 때까지 루프를 도니까
<int name="id"/>
<short name ="level"/>
<float name ="duration"/>
를 다 파싱하고 빠져나옵니다.
코드를 눈으로 보면 가끔 헷갈릴 때가 오는데
그럴 때는 디버깅을 통해 메모리 값을 보면서 확인 해보시기 바랍니다.
넵 감사합니다