Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : Re : C#교과서 30.7 장 질문입니다
글번호: 942
작성자: 레드플러스
작성일: 2021/04/21 오후 3:28:00
조회수: 1742

안녕하세요.

 

Visual Studio에서 ForEach() 메서드에 마우스 커서를 올려보면 List<T>에 대한 반복 형태의 도움말을 볼 수 있습니다. 즉, ForEach() 메서드는 List<T>에 대해서 사용이 가능한 메서드입니다.   

 

LINQ의 Where() 메서드의 결괏값은 IEnumerable<T>입니다.

만약, Where() 메서드의 결과를 바로 ForEach() 메서드를 사용하여 출력하고자 한다면

IEnumerable<T> 형태를 List<T> 형태로 변경해야 ForEach() 메서드가 사용이 가능합니다.

그래서 Where().ToList().ForEach() 형태를 사용했습니다.

 

당연히 names 변수는 그 자체가 List<T> 형태이기에 바로 ForEach() 메서드를 사용 가능합니다.

 

이상입니다.

 

 

 

 


On 2021-04-21 오후 2:23:00, '한민식' wrote:

 

 


선생님 안녕하세요.

 

var numbers = new List<int>() {10, 20, 30, 40, 50};

numbers.Where(n => n <= 20).ToList().ForEach(n => Console.WriteLine(n));

// 여기에서는 ToList()를 하는데

 

var names = new List<string>() {"RedPlus", "Taeyo"};

names.ForEach(n => Console.WriteLine(n));

// 여기에서는 ToList()를 안해도 되는 이유를 알고 싶습니다.

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 blazor 라우팅 관련 질문드립니다 - 박경민 2021-05-14 2056
  C#교과서 30.7 장 질문입니다 - 한민식 2021-04-21 2180
현재글 Re : C#교과서 30.7 장 질문입니다 - 레드플러스 2021-04-21 1742
다음글 패턴매칭 변수의 유효 범위에 대한 질문입니다. - 한민식 2021-04-16 2178
 
손님 사용자 Anonymous (손님)
로그인 Home