728x90
반응형
List<int> list_int = new List<int> { 1, 2, 3, 4, 5 };
for (int i = 0; i < list_int.Count; i++)
{
Console.WriteLine(list_int[i]);
}
foreach (var value in list_int)
{
Console.WriteLine(value);
}
일단 둘 다 반복문이고 위는 동일한 결과를 낸다.
1. for
- for문 루프 안의 내용을 반복 실행
- 조건식에서 오류를 낼 수 있음
- 반복 중에 값을 변경하기 용이
List<int> list_int = new List<int> { 1, 2, 3, 4, 5 };
for (int i = 0; i < list_int.Count; i++)
{
Console.WriteLine(list_int[i]);
list_int[i] += 1;
}
2. foreach
- collection에 주로 사용 -> collection의 요소를 하나씩 가져와서 사용
- 가독성이 좋음
[3차원 배열을 순환할 때 for문으로 표현하면 굉장히 코드가 복잡해지나 foreach로 하면 편함]
Array[,,] arr = new Array[5, 5, 10];
foreach (var value in arr)
{
}
- for문 조건에서 발생하는 오류가 날 일이 없음
- 순환할 때 좋음
* 성능적인 측면에서 for가 foreach보다 빠르다고 알고 있는데 사실상 그렇게 큰 엄청난 차이를 보이지는 않는다.
[여러 테스트를 한 글들을 봤지만 솔직히 엄청난 차이가 나는 건 아닌 거 같고 여기서 성능 차이를 개선하기보단 게임으로 예를 들면 다른 측면에서 성능을 개선하는 게 더 좋지 않을까 싶은..? for, foreach를 전체 코드에서 엄청나게 많이 사용하는 것도 아니니까!]
* collection이든 index를 사용하여 값을 중간에 변경하기에는 for문을 사용
* 전체를 한번 쭉 돌아야할 때는 간편하게 foreach문을 사용
뭐 사실 여러 글을 찾아봤지만 결국 상황에 따라 개발자 맘
- 근데 주관적인 생각으론 반복문 중간에 값을 바꾸던지 그 순간의 index를 확인한다든지 할때는 for문을 사용하고 그냥 collection을 한바꾸 쭉 돌릴 때는 foreach를 사용하면 좋지 않을까!@!@!@~
반응형
'Programming Tips' 카테고리의 다른 글
Excel -> Json + 변환된 Json 검사 유용한 사이트 (0) | 2021.08.12 |
---|---|
C# List 대입 시 유의! (0) | 2021.08.05 |
c# 멤버 변수 많은 생성자 간단히 만들기 (ALT + ENTER) (0) | 2021.06.28 |
cmd 현재 폴더 주소 위치로 바로 이동 (0) | 2021.06.01 |
비주얼 스튜디오 줄 정리(코드 정리) (0) | 2021.04.23 |