root layout

패스트캠퍼스

  1. 강의 질문
  2. 개발/데이터

코드에 궁금한 점이 있어요. 꼭 답해 주세요. AI도 답을 못해요. 비록 온라인 강의지만 이 정도 지원은 가능할 거라 생각합니다.

2025.09.10 21:02 수정

파트 6 뱀서라이크 ch 06-03중에 다음 코드가 있어요


switch(lSkillData.ActiveType)

{

case SkillActiveType.Manual:

{

int lFindIndex = -1;

int lCurrentIndex = 0;

foreach(var EachSkill in CurrentManualSkillDatas)

{

if(EachSkill.Type == InSkillType)

{

lFindIndex = lCurrentIndex;

}

lCurrentIndex++;

}

if(lFindIndex >= 0)

{

CurrentManualSkillDatas[lFindIndex] = CurrentActiveSkillDatas[InSkillType];

}

else

{

CurrentManualSkillDatas.Add(CurrentActiveSkillDatas[InSkillType]);

}

}

}

break;

}


만약 CurrentManualSkillDatas 리스트에 객체가 3개만 있다고 할 경우 foreach가 모두 실행되었을 때 lFindIndex는 2가 되죠. 그리고 lFindIndex는 0보다 크니까 리스트에 있는 제일 마지막 객체 CurrentManualSkillDatas[2]만 값이 수정되고 앞에 있는 나머지 2개는 수정되지 않는데 의도한 겁니까? 아니면 리스트에 하나만 넣고 그 하나만 계속 갱신하겠다는 뜻인가요? AI도 코딩 의도를 모르겠다고 하니 꼭 답해주세요. 이 정도는 지원해 줄 수 있죠?


AI가 말하는 원리는 잘 알고 있는데 위에서 말한 마지막 객체만 수정되고 앞에 있는 객체들은 수정되지 않도록 일부러 의도한 것인지 리스트에 하나만 넣고 그 하나만 계속 갱신하겠다는 것인지 강사나 경영진 아시는 분은 설명해 주세요.


답변 

연관 질문

커뮤니티 질문보기