linqクエリを使用して、各日付が1つの値の項目しか持たないオブジェクトを選択できます。 したがって、次のリストに:それはアイテム22および25linq to objects query:他の値が存在しないオブジェクトを選択します。
を有するため、そのアイテムは双方252)2011年1月1日が選択されないされているので
1)2011年1月4日が選択されます
3)2011-1-2と2011-1-3は1つのアイテムしか持たないため選択されます。
public class MyClass
{
public DateTime date { get; set; }
public int item { get; set; }
}
static void Main(string[] args)
{
List<MyClass> classes = new List<MyClass>
{
{ new MyClass() { date = new DateTime(2011, 1, 1), item = 22 } },
{ new MyClass() { date = new DateTime(2011, 1, 1), item = 25 } },
{ new MyClass() { date = new DateTime(2011, 1, 2), item = 23 } },
{ new MyClass() { date = new DateTime(2011, 1, 3), item = 24 } },
{ new MyClass() { date = new DateTime(2011, 1, 4), item = 25 } },
{ new MyClass() { date = new DateTime(2011, 1, 4), item = 25 } },
};
}
この内容はどうですか?かなりあなたの人の答えを見てから得た。
var results = classes.GroupBy(m => m.date);
var q = from n in results where n.All(r => r.item == n.First().item) select n;
var results = classes.GroupBy(m => m.date); var q =結果のnからn.All(r => r.item == n.First()。item)select n; – tim
あなたはそれを解決しました。私はあまりにも小さすぎてまだLMAOでした。 – tim
@tim、私のバージョンを使っていて、日付だけではなく完全なオブジェクトが必要な場合は、2回目の 'SelectMany'の後にクエリを切ることができます。 –