2010-03-16 4 views

답변

38
var nthItem = items.Skip(n).First(); 
+1

카운트 : 나머지 요소를 반환하기 전에 건너 뛸 요소 수입니다. _ 따라서 n을 건너 뛰면 n 번째 요소가 아닌 n 번째 인덱스를 얻습니다 (1부터 시작). 그렇습니까? 이 답변과 마찬가지로 : http://stackoverflow.com/a/824652/3958365 – ErTR

5

당신이 사용할 수있는 사용하지 못할 텍스트입니다.

var result = myData.OrderBy(<your order by>).Skip(5).Take(1); 
+1

Take는 항목을 반환하지 않고 시퀀스를 반환합니다 (이 경우 요소 하나 포함). –

+0

@ 마크 : 실제로 그렇습니다. 그리고 우리는 OP 모두에게 옵션을 제공하는 것이 최선이라고 생각합니다. – cjk

3
var nthItem = items.Skip(n-1).FirstOrDefault(); 
+0

n-1 번째 요소를 가져 오는 중 ... – Omar

18

대안 (NET 3.5 이상 및) ElementAtOrDefault를 사용하는 것이다.

var nthItem = items.ElementAtOrDefault(n-1); 

메서드의 인덱스는 0부터 시작하므로 세 번째 요소가 필요하면 인덱스에 2를 전달합니다.