- 공유 링크 만들기
- X
- 이메일
- 기타 앱
C#을 공부하다 보니 생소한 반복 문을 만났습니다.
foreach문 이라고 해서.. 기존 프로그램 언어에서 알고 있는 for문과 같이 반복문이기는 하지만.. 조금 특이하네요..
배열을 위한 반복 문 이네요.. 사실 delphi를 하면서 좀 불편하긴 했거든요.. 1차원이든 2차원 배열 이든.. 아무튼 동적으로 선언 했다고 하면
배열을 반복으로 돌릴려면..
delphi라면.. 이런 식으로 표현을 주로 했었는데요..
for i := low(arr) to hight(arr) do
begin
//코딩..
showmessage( arr[i]);
end;
|
뭐 문법적으로 나쁘다는 것은 아닙니다. 하지만.. 옛날부터 이어져 온 언어 이어서 새로운 문법이 추가가 될 지언정 기존의 문법이 변경되는 일이 발생한다면.. 마이그레이션 등에 문제가 발생하기 때문에 그런 일은 거의 없다고 봐야겠죠.. 개발자들도 혼란스러워 할 거고요..
하지만.. C#의 경우 만들어 진지 얼마 안되는 언어 이어서 그런지.. 제가 봤을 때는 문법적으로 간결하고 효율적인 면이 많은 것 같습니다.
foreach의 경우도 그러한데요..
지금과 같은 것 이라면..
C#에서는 이렇게 표현 되어야겠습니다.
여기서 중요한 것은.. a라고 선언한 부분에 배열 안의 값이 들어온다는 것입니다.
foreach(int a in arr)
{
Console.WriteLine(a); // a라는 변수 안에 arr에 집어 넣었던 값들이 차례로 들어옴..
}
|
좀 사용 하다 보면 익숙해 지겠지만.. 정말 간결하고 가독성이 좋은 것 같습니다.
괄호안에 { } 문장에 a = a[i]; 이런 식으로 해서 값을 삽입하는 것을 생략해 버렸네요.. 딱 봐서는 이해가 잘 안가는데 말이죠 ..;
또한.. 이것안에 선언을 꼭 해야 하는 불편함이 있고.. 이 문장을 빠져나가면 생성된 변수가 없어져 버리네요..; 아무튼 처음이라 정신이 없긴 하지만.. 이 문제는 많이 사용해보고 다른 대체 가능한 기능들이 무엇이 있는지 확인하면서 터득해보는 수 밖에..없어 보이네요..
아래는 Visul Studio 2013 Express 에서 테스트를 해본 것 입니다.
int형 배열을 선언하고 안에 1,2,3,4,6 이라는 값을 할당했습니다.
그리고 loop문을 돌려서 찍는거죠..;
이것 문을.. 사용하니 정말 간결해 지네요.. 간결해지면 가독성도 좋아지고 소스량도 줄어들어서 좋겠죠..?
틈틈이 시간을 내가면서 열심히 공부하고 있긴 합니다. 회사 다니면서 이것저것 해보려니 쉽지가 않네요 ^^;
보면..볼수록 델파이와 혼돈이 되기 시작해서 혼란스럽습니다 ㅎㅎ 기존 델파이 문법도 햇갈리기 시작하네요;;;
댓글
댓글 쓰기