2014-02-27 3 views
0
List<int> b = new List<int>() { 12, 56, 45, 65, 4, 6 }; 
b.Add(125); 

IEnumerable<int> c = from n in b 
        where n < 60 && n > 12 
        select n; 

c 만 참조합니까? from ... select n은 어떤 유형입니까?쿼리 식으로 작성한 오브젝트는 어떤 타입입니까?

System.Linq.Enumerable+WhereListIterator`1[System.Int32] 

당신은) (c.GetType를 검사하여 이것을 볼 수 있습니다 :

+0

나는 당신이 그것에 대해 읽어 제안 : http://msdn.microsoft.com/en-us/library/bb308959.aspx HTTP : //msdn.microsoft.com/en-us/library/bb397676.aspx –

답변

3

C 형이다 당신이 평가하고 '실제'목록으로 전환되도록하려면

, 당신은 시도 할 수 :

IEnumerable<int> c = (from n in b where n < 60 && n > 12 select n).ToList(); 
+1

사이드 노트 : c (유일한 쿼리)는 느린 평가자이며, 반복 할 때만 실행됩니다. :) –

0

C는 목록이나 다른 컬렉션을 수 있습니다 유형 IEnumerable<int> 의 객체입니다. 어쨌든

아니 참조

,

PS : 당신이 abatishchev 감사

+0

'을 사용하여 코드를 강조 표시하십시오. 'IEnumerable ' – abatishchev

+0

'IEnumerable'과'System.Linq.Enumerable' 사이에는 어떤 차이가 있습니까? – FSou1

+0

올바른 대답은 다음과 같습니다. c는'IEnumerable ' – FSou1

관련 문제