Microsoft MVP성태의 닷넷 이야기
foreach 문으로 컬렉션을 열거할 때 궁금한 점 [링크 복사], [링크+제목 복사],
조회: 13188
글쓴 사람
김기헌
홈페이지
첨부 파일
 

안녕하세요 선생님
예를 들어 foreach문을 사용할 때

List<T> list = new List<T>();

foreach (T t in list) 이렇게 사용하는 방법이 아닌

foreach (T t in list.ToList())
이렇게 foreach문을 사용하게 될 때 저 ToList() 메소드 내부에서 생성하는 개체는 반복문에서 한 번만 평가되고
동일한 개체를 열거하게 되는 건지 아니면 컬렉션을 열거할 때마다 새로운 개체를 생성하게 되는 건지 궁금증이 생겨서요..

foreach가 Current, MoveNext, Reset을 사용하는 것은 알고 있지만 내부에서 어떻게 처리되는 건지는 알기가 힘들어 선생님께 질문드립니다
항상 감사합니다








[최초 등록일: ]
[최종 수정일: 8/1/2022]


비밀번호

댓글 작성자
 



2022-08-01 06시17분
foreach...in...에서 in 다음에 오는 코드는 최초 루프 진입 시 한 번만 실행됩니다. 대충 아래와 같은 식으로 바뀝니다.

IEnumerable<T> e = list.ToList();

while (e.MoveNext())
{
    T current = e.Current;
    ... foreach 내부의 코드 ...
}
정성태
2022-08-01 07시09분
[김기헌] 감사합니다 선생님^^
[guest]

1  2  3  4  5  6  7  8  9  10  11  12  13  [14]  15  ...
NoWriterDateCnt.TitleFile(s)
5631김기헌3/24/202213263WPF 컨트롤의 그래픽 처리관련 질문드립니다 [2]파일 다운로드1
5630장성욱3/24/202213300로깅관련 질문입니다. [2]
5629감사합니...3/23/202213481함수에서 예외가 발생하면 try ~ catch처리기를 찾을 때 까지 상위 함수로 계속 올라가나요? [2]
5628홍길동3/23/202215233질문드립니다. [2]파일 다운로드1
5626연준혁3/21/202214226안녕하세요. [3]
5625jaew...3/18/202213914c# 8.0 도서를 구입한 사람입니다. [1]
5624초보자3/17/202213363람다 캡처 관련 문의 [2]
5623한예지 donator3/15/202212385인터프리터 원리가 궁금합니다. [4]
5622김민아3/8/202213108const와 readonly의 명확한 차이가 이게 맞나요? [2]
5621장성욱3/8/202213228c# 로그 관련 질문 [1]
5620김민아3/7/202212429안녕하세요 비관리 객체를 반환하는 메소드 호출 시 궁금한 점이 있어서 질문드립니다 [2]
5619팡팡이3/3/202214529RSA 문의드립니다. [3]
5618김기헌3/2/202212337안녕하세요 생성자 옆에 this 키워드를 붙여 생성자를 여러 개 호출 시 질문드립니다 [2]
5617Edun2/25/202213270ArgumentOutOrRangeException에러 발생 [2]파일 다운로드1
5616csha...2/24/202212506readonly struct로 선언된 구조체를 특정 클래스에서 멤버변수로 가지는 경우 [1]
5615장성욱2/22/202216482SetThreadAffinityMask를 이용한 쓰레드 지정하는 방법에 대해 궁금합니다. [4]
5614민우2/22/202216303SSL 통신 문의 [6]
5613김인태2/22/202214143서버와 PC 간의 어플리케이션 성능 차이 [1]
5612팬입니다2/20/202212337Kastrel 서버 관련 [1]
5611차가워2/19/202212831stopWatch 늘어짐 문의 [3]
5610차가워2/18/202212772Stopwatch 늘어짐 문제 [1]
5609cs린이2/15/202212204c# 함수의 호출 방식에 대해 궁금합니다! [2]
5608지호2/10/202213292시작하세요 C# 8.0 중 제네릭타입의 IEnumerable [3]파일 다운로드1
5607이로운2/10/202211728안녕하세요. 궁금한게 있어서 질문드립니다. [1]
5605강성봉2/10/202212814TCP PSH flag 패킷 수신 에러 [1]
5604LW2/9/202213626VISUAL STUDIO 2019 ==> 2020 설치시 오류가 생겨서 문의드립니다. [3]
1  2  3  4  5  6  7  8  9  10  11  12  13  [14]  15  ...