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

안녕하세요 선생님
예를 들어 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)
5658한예지 donator5/9/202214278교재 689, 690쪽(async/await) 질문입니다. [5]
5657C#초보5/8/202212720초보 단순 질문 입니다.,ㅠ [1]
5656부탁드립...5/6/20221500632bit dll 을 64bit dll 화 [2]
5655감사합니...5/5/202214814UI 스레드 관련 질문드립니다. [4]파일 다운로드1
5653고석주5/3/202212914첨부된 이미지처럼 dll 을 어떻게 추가해야 하는지 문의드립니다. [1]파일 다운로드1
5652감사합니...5/2/202211790프로그램 종료되면 리소스(관리, 비관리)는 알아서 해제 되나요? [2]
5651윤식4/26/202212824상속 구조 관련 질문드립니다. [8]
5650김기헌4/19/202212528WPF 리소스 관련 질문드립니다 [3]
5649주니어4/15/202211450ffmpeg 질문 있습니다! [2]
5648주니어개...4/13/202212116컴파일된 코드를 원시코드로 바꾸려면 어떻게해야하나요? [1]파일 다운로드1
5647장성욱4/7/202211940코어지정 CPU사용률 관련 질문 [1]
5646서형주4/6/202212283List에 여러개의 class 객체를 만들어 넣을때, 객체의 method들도 같이 생성되어 메모리를 차지하나요? [1]
5645김인태4/6/202211585윈도우즈 서버의 AD 계정 생성 조건이 있을까요? [1]
5644ㅇㅇ4/6/202212576c# 프로그램을 이용하여 리눅스상에 파일 생성이 가능한가요? [1]
5643유필재4/5/202212981TCP클라이언트 연결 및 통신관련하여 문의드려요 [1]
5642차가워4/4/202212915UdpClient 패킷 수신 문의 [4]
5641장성욱4/4/202212688코어 할당 및 cpu 부하테스트 질문 [7]
5640icoo...4/4/202213423웹가든에서 메모리 동적 업데이트 방법 [1]
5639차가워4/4/202214056c++ 서버 c# 클라이언트 호환 문의 [1]
5638초급4/3/202214169c# sql server 연동 [1]
5637따봉이4/1/202215595Winform Form Load 후 자동 캡쳐관련 [1]파일 다운로드1
5636김철순3/31/202214457WPF에서 Richtext의 View 문의 [5]
5635guest3/30/202213165안정적인 pinning이 가능하네요. [3]파일 다운로드1
5633꿀주세요3/30/202213110선생님 마우스 클릭이벤트 질문이 있습니다. [4]
5632김현수3/30/202213870Remote Desktop으로 접속시 WPF UI 가 다시 그려지는 이벤트를 막을 수 없을까요? [3]
5631김기헌3/24/202213254WPF 컨트롤의 그래픽 처리관련 질문드립니다 [2]파일 다운로드1
1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...