2011-01-04 2 views
1

설명하기가 어렵지만 다음 번호가있는 항목을 찾을 LINQ 쿼리 (C#)를 만드는 데 도움이 필요합니다.LINQ를 사용하여 숫자가 논리적 인 항목을 가져 오는 경우

예를 들어 설명해 드리겠습니다. 숫자의 집합있다 :

1 
5 
7 
8 
11 
12 
20 

내가 조합을 필요가 '7'& '8'과 '11'& '12'의 논리가 다음 때문이다. 그러나이 두 (또는 그 이상) 조합을 반환하는 LINQ 쿼리를 만들거나 최소한 다음 행 (7/11)의 첫 번째 숫자를 만들려면 어떻게해야합니까?

감사합니다.

+0

LINQ to Entities, LINQ to SQL 또는 LINQ to Objects입니까? – StriplingWarrior

답변

3
IEnumerable<int> items = //whatever 
var pairs = items.Zip(items.Skip(1), (f, s) => Tuple.Create(f, s)) 
    .Where(t => t.Item1 + 1 == t.Item2); 

참고 닷넷 4이 단지 작품에 대한 답변을 참조 예를 들어, 7, 8, 9의 서브 순서가 있다면이 개 결과를 반환합니다.

+0

좋은 답변 주셔서 감사합니다. – robertpnl

관련 문제