2014-03-12 3 views
2

나는 list라는 이름의 IEnumerable 목록을 가지고 있습니다. 그것은 이러한 샘플 값을 유지 :IEnumerable 목록 값을 가져 오는 방법은 무엇입니까?

enter image description here

내가 에 액세스하고 변수이 카운트, 시작 및 종료 값, 내가 원할 때마다 할당 할. 어떻게해야합니까?

+1

같은 네임 스페이스

using System.Linq; 

를 사용 Linq와 함께 목록에 액세스 할 수 있습니다. 원하는 값을 객체에서 읽으면 값에 액세스 할 수 있습니다. – Maarten

+0

그리고 실패한 시도는 무엇입니까? –

+1

'list [i] .Count' /'list [i] .Start' /'list [i] .End' work하지 않을까요? – dasblinkenlight

답변

7

IEnumerable 자체가 Count, Start, 또는 End이 없습니다. 그것은 요소 인입니다. 따라서 해당 값을 읽을 컬렉션의 요소를 식별해야합니다.

var firstCount = list.First().Count; 
var firstStart = list.First().Start; 
var firstEnd = list.First().End; 

을 또는이 같은 의 수집 모든Count 값, 뭔가 얻으려면 : : 예를 들어, 첫 번째 요소에 값을 읽어

var allCounts = list.Select(c => c.Count); 

을 당신을 운영하고 있습니다 하나의 요소가 아닌 요소의 집합. 따라서 특정 요소에서 정보를 얻으려면 먼저 컬렉션에서 식별해야합니다. 그리고 lots of methods이 있습니다. 서로 연결되어 주어진 요소 또는 요소 집합을 식별 할 수 있습니다.

+0

감사합니다. 그것은 효과가있다. – 1teamsah

+0

@ team16sah : 이러한 메서드 중 일부는 특정 조건에서 예외를 throw합니다. 예를 들어, 콜렉션이 비어 있다면'First()'는 예외를 던질 것이다. 'IEnumerable '확장 기능을 모두 사용할 수 있고 동작 방식을 살펴볼 가치가 있습니다. 함께 묶어 모음을 쿼리하는 데 상당히 강력한 언어를 제공합니다. – David

1

loop을 사용 하시겠습니까?

foreach(var item in list) 
{ 
    var count = item.Count; 
} 

또는 다음 인덱스와 값에 액세스 할 수 있습니다 ToList를 사용하고 List<T>로 변환 :

var myList = list.ToList(); 
var count = myList[0].Count; 

당신이 유형을 알고있는 경우 또한이 인덱서를 사용하기 위해 IList<T>IEnumerable을 시전 할 수 있습니다.

-1

시도 :

list.Count() 
list.First() or list.FirstOrDefault() 
list.Last() or list.LastOrDefault() 
1

그것은 당신이 요구하는 분명한 그리

var firstListElement = list.ElementAt(0); 
var firstListElementCount = firstListElement.Count; 
// do more stuff with my first element of the list 
관련 문제