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

안녕하세요 선생님
예를 들어 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/200515323    답변글 [답변]: 질문이 있는데요....
78임은선1/26/200515892        답변글 [답변]: [답변]: 질문이 있는데요....
72최정희1/19/200515288또 접니다.
73정성태1/19/200515043    답변글 [답변]: 또 접니다. [2]
74최정희1/19/200514390        답변글 [답변]: [답변]: 당연히 도움이 되지요.
75정성태1/19/200515019            답변글 [답변]: [답변]: [답변]: 당연히 도움이 되지요.
69최정희10/13/200414362저 기억하실런지? 그때 두리로IE툴바 만들어 주셨죠.
62엄길웅10/1/200415553매번 물어보기만 하는군요..
63정성태10/2/200415332    답변글 [답변]: 매번 물어보기만 하는군요..
64keal...10/5/200417002        답변글 [답변]: [답변]: 매번 물어보기만 하는군요..
65정성태10/6/200416877            답변글 [답변]: [답변]: [답변]: 매번 물어보기만 하는군요..
68keal...10/11/200414537                답변글 [답변]: [답변]: [답변]: [답변]: 매번 물어보기만 하는군요..
71정성태10/31/200414603                    답변글 [답변]: [답변]: [답변]: [답변]: [답변]: 매번 물어보기만 하는군요..
58엄길웅9/30/200414752안녕하세요.. 추석은 잘 보내셨는지요?
59정성태9/30/200414845    답변글 [답변]: 안녕하세요.. 추석은 잘 보내셨는지요?
60엄길웅10/1/200414764        답변글 [답변]: [답변]: 안녕하세요.. 추석은 잘 보내셨는지요?
56엄길웅9/23/200415003ATL을 이용해서 함수를 하나 만들었습니다.
57정성태9/23/200416063    답변글 [답변]: ATL을 이용해서 함수를 하나 만들었습니다.
61엄길웅10/1/200414774        답변글 [답변]: [답변]: ATL을 이용해서 함수를 하나 만들었습니다.
54차광석8/26/200414882잘 지내시죠?
55정성태8/27/200413979    답변글 [답변]: 잘 지내시죠?
52김명원8/3/200414819질문이요..
53정성태8/19/200414701    답변글 [답변]: 질문이요..
50김상표7/5/200414565질문요...
51정성태7/6/200414423    답변글 [답변]: 질문요...
45송야5/29/200414526웹페이지 자동로그인..
... 91  92  93  94  [95]  96  97