for과 foreach 비교

2023. 5. 6. 17:13C# 프로그래밍 개념

for문과 foreach문이 있는데, for는 시작인자와 끝 인자를 입력해야 하고 증가하는 지 감소하는 지 등을 for문에 다 적어놔야 되는데 foreach는 그렇게 까지 할 필요가 없다.

 

For문 = 오류가 나면 오류난 위치 이후로는 안함.

foreach문은 비동기라서 에러가 나더라도 멈추지 않고 동작한다.

foreach는 향상된 for으로 가변적 배열이나 리스트 크기를 구할 필요가 없다.

 

foreach의 단점은 반복문 내에서 배열이나 리스트 값을 변경, 추가가 불가능하고 배열을 역으로 탐색할 수 없다.

 

또한, 삭제하는 메소드에서는 거꾸로(가장 큰 곳부터) 탐색해서 삭제를 해야 하기 때문에 foreach를 쓰지 못한다.

 

그 이유는 앞에서부터 배열을 탐색하면서 배열을 삭제하면 배열의 크기가 바뀌면서 배열의 인덱스를 초과하는 값을 탐색할 수가 있고, 배열이 삭제된 자리에 다른 값이 들어가면서 스텝이 꼬일 수가 있어서 삭제하는 거는 거꾸로 탐색하게 해야 한다.

'C# 프로그래밍 개념' 카테고리의 다른 글

C#의 메모리(함수까지)  (1) 2023.05.08
C# 연산자  (0) 2023.05.07
C# 클래스  (0) 2023.05.06
네임스페이스, using, 다중 프로젝트  (0) 2023.05.06
접근제한 지정자 Private & Public & Protected  (0) 2023.05.05