다음 두 코드의 출력 결과가 같은가?
다음 두 코드의 출력 결과가 같은가?
// 코드 A
string[] nums = {"1", "2", "3"};
for (int i = 0; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
// 코드 B
string[] nums = {"1", "2", "3"};
foreach (string i in nums)
{
Console.WriteLine(i);
}
정답: A
for 문과 foreach 문의 동작 방식 차이를 정확히 이해해야 합니다.
⦁ 코드 A (for 문) 분석:
⦁ i는 인덱스 (0, 1, 2)
⦁ nums[i]로 실제 값 접근
⦁ 출력: "1", "2", "3"
⦁ 코드 B (foreach 문) 분석:
⦁ i는 배열 요소의 실제 값
⦁ i가 직접 "1", "2", "3"을 가짐
⦁ 출력: "1", "2", "3"
⦁ 핵심 차이점:
⦁ for: i는 인덱스, nums[i]로 값 접근
⦁ foreach: i는 값 자체
⦁ 결과적 동일성: 접근 방식은 다르지만 최종 출력은 동일합니다.
⦁ 변수명의 혼동: foreach에서 i를 사용했지만, 이는 인덱스가 아닌 요소 값입니다. 실무에서는 의미 있는 변수명(예: num, car)을 사용하는 것이 좋습니다.
💡 학습 팁
이 문제를 포함한 C# 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.