이번 글에서는 반복문 중 for와 for-each에 대해 알아보도록 하겠습니다.
for문
for문의 구조는 아래와 같습니다.
괄호 안에 초기값, 조건, 증감문이 모두 포함되어있습니다.
초기값의 경우 없어도 상관없지만 조건과 증감문은 반드시 있어야 합니다.
초기값은 최초 1회에만 수행하며, 조건이 참인 경우 for문의 내부 문구를 실행하고 증감문의 문구를 수행하고
다시 조건문으로 값을 비교하고 참, 거짓에 따라 for문의 내부 문구를 실행하거나 종료합니다.
for문은 아래의 표와 같은 흐름으로 진행됩니다.
조건이 false인 경우에는 당연히 for문이 종료됩니다.
예제는 초기값이 for문에 포함된 경우와 포함되지 않은 경우로 확인해보도록 하겠습니다.
위에서도 언급했듯이 초기값은 for문에 명시하지 않아도 구성에 문제가 없습니다.
다만, for문의 조건으로만 사용하는 변수의 경우에는 초기값으로 선언하여 사용하는 것이 일반적입니다.
두 가지 경우 모두 아래의 예제에서 보이는 것과 같이 결과는 동일합니다.
foreach문
이어서 foreach문에 대한 내용입니다.
먼저 foreach문은 컬렉션이 배열에 대한 사전 지식이 있어야 하는 구문이기에 지금 배우지 않으셔도 무방합니다.
그냥 foreach라는 구문도 있구나 한 다음 배열이나 컬렉션의 지식을 습득하신 다음에 확인하셔도 좋습니다.
지금까지 설명한 while, do-while, for문은 조건이 참인 경우 해당 반복문을 수행하는 구문이었다면, foreach의 경우에는 해당 배열이나 컬렉션의 데이터 수만큼 반복하는 구문입니다.
이는 아래의 구조를 보면 보다 쉽게 이해하실 수 있습니다.
foreach의 구조는 다음과 같습니다.
이어서 예제를 보며 확인해보도록 하겠습니다.
예제에서는 1, 2, 3, 4, 5를 담은 int형 1차원 배열을 사용하였습니다.
(그냥 변수가 아파트 1층이라면 배열은 아파트 1동으로 생각하시면 됩니다.)
먼저 결과값을 보면 1~5까지 출력이 되었으며 foreach문이 정상 동작한 것을 알 수 있습니다.
foreach의 (int i in val) 부분을 봐보겠습니다.
여기에서 int는 현재 foreach에서 사용하는 배열의 자료형이 int형이기 때문에 int형으로 선언한 것입니다. 다른 자료형을 사용하면 오류가 발생합니다.
또한 i는 foreach에서 사용하는 배열 또는 컬렉션 안의 값을 i로 칭하겠다는 의미입니다.
in은 구분자이며, val은 지금 foreach에서 사용하는 배열 또는 컬렉션의 이름입니다.
foreach의 경우 배열이나 컬렉션 내에 내용이 있는 경우 해당 내용만큼 반복하고, 기타 반복문은 특정 조건이 참인 경우에 구문을 반복하는 특징이 있습니다.
역시 같은 반복문이지만 상황이나 데이터에 따라 더 용이한 방법이 약간씩 다릅니다.
저 같은 경우에는 상황에 맞게 일반적으로는 for문이나 do-while을, DataTable을 사용할 때는 foreach를 주로 사용하고 있습니다.
앞서 말씀드렸듯이 foreach의 경우에는 배열이나 컬렉션에 대한 선지식이 필요하니 가볍게 보셨으면 좋겠습니다.
그러면 다음 글에서는 제어문(go to, continue, break)에 대하여 알아보겠습니다.
감사합니다.
'Programming > .NET' 카테고리의 다른 글
[C#] 08. 반복문(while, do-while) (0) | 2020.05.25 |
---|---|
[C#] 07. 조건분기문(if-else, switch-case) (0) | 2020.05.12 |
[C#] 삼항 연산자 (0) | 2020.05.04 |
[C#] 06. 연산자(관계, 논리, 비트) (0) | 2020.04.24 |
[C#] 06. 연산자(수식, 증감, 할당) (0) | 2020.04.12 |