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

안녕하세요 선생님
예를 들어 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]

... 91  92  93  94  [95]  96  97 
NoWriterDateCnt.TitleFile(s)
77정성태1/25/200513994    답변글 [답변]: 질문이 있는데요....
78임은선1/26/200514499        답변글 [답변]: [답변]: 질문이 있는데요....
72최정희1/19/200513908또 접니다.
73정성태1/19/200513710    답변글 [답변]: 또 접니다. [2]
74최정희1/19/200513062        답변글 [답변]: [답변]: 당연히 도움이 되지요.
75정성태1/19/200513600            답변글 [답변]: [답변]: [답변]: 당연히 도움이 되지요.
69최정희10/13/200413033저 기억하실런지? 그때 두리로IE툴바 만들어 주셨죠.
62엄길웅10/1/200414203매번 물어보기만 하는군요..
63정성태10/2/200414016    답변글 [답변]: 매번 물어보기만 하는군요..
64keal...10/5/200415684        답변글 [답변]: [답변]: 매번 물어보기만 하는군요..
65정성태10/6/200415501            답변글 [답변]: [답변]: [답변]: 매번 물어보기만 하는군요..
68keal...10/11/200413201                답변글 [답변]: [답변]: [답변]: [답변]: 매번 물어보기만 하는군요..
71정성태10/31/200413231                    답변글 [답변]: [답변]: [답변]: [답변]: [답변]: 매번 물어보기만 하는군요..
58엄길웅9/30/200413369안녕하세요.. 추석은 잘 보내셨는지요?
59정성태9/30/200413506    답변글 [답변]: 안녕하세요.. 추석은 잘 보내셨는지요?
60엄길웅10/1/200413412        답변글 [답변]: [답변]: 안녕하세요.. 추석은 잘 보내셨는지요?
56엄길웅9/23/200413729ATL을 이용해서 함수를 하나 만들었습니다.
57정성태9/23/200414752    답변글 [답변]: ATL을 이용해서 함수를 하나 만들었습니다.
61엄길웅10/1/200413409        답변글 [답변]: [답변]: ATL을 이용해서 함수를 하나 만들었습니다.
54차광석8/26/200413518잘 지내시죠?
55정성태8/27/200412613    답변글 [답변]: 잘 지내시죠?
52김명원8/3/200413438질문이요..
53정성태8/19/200413336    답변글 [답변]: 질문이요..
50김상표7/5/200413258질문요...
51정성태7/6/200413126    답변글 [답변]: 질문요...
45송야5/29/200413287웹페이지 자동로그인..
... 91  92  93  94  [95]  96  97