2011-01-04 5 views
1

私は説明するのが非常に難しいですが、次の番号のアイテムを見つけるLINQクエリ(C#で)を作成するには何か助けが必要です。LINQを使用して数字が論理的な同じコレクションからアイテムを取得する

例を挙げて説明します。数字のコレクションがあります:

1 
5 
7 
8 
11 
12 
20 

私は組み合わせを必要とする「7」&「8」、および「11」&「12」以下の論理があるため。しかし、この2つ(またはそれ以上)の組み合わせ、または少なくとも最初の行(7/11)の行を返すLINQクエリを作成するにはどうすればよいですか?

ありがとうございました。

+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); 

ノートには、.NET 4のために、この唯一の作品を答えを参照し、例えば7,8,9のサブシーケンスがあった場合には二つの結果を返します。

+0

良い答えをありがとう。 – robertpnl

関連する問題