2016-11-09 5 views
1

リストに問題があります。私のリストはプロパティ(場所、時間、活動)を持っています。私はthelist.GroupBy(f => new { f.Place, f.Time, f.Name}).Select(c => c.First())を使用しました。しかし、私はまだ重複しています。私が見なければならない私のリストが欲しいリストの複製<T> C#

Paris 2013-09-12 John 
New York 2015-12-10 Lian 
Paris 2013-09-12 John 
Cape Town 2014-08-21 Peter 
Tokyo 2015-12-12 Bob 
Paris 2015-09-12-Lean 

:私のoutComelistは次のようになります

Paris 2013-09-12 John 
New York 2015-12-10 Lian 
Cape Town 2014-08-21 Peter 
Tokyo 2015-12-12 Bob 
Paris 2015-09-12-Lean 
+2

「時間」のデータタイプとは何ですか? isは文字列か 'DateTime'オブジェクトですか? – user3185569

+2

'GroupBy'を呼び出してから' Select'を呼び出すと、結果のコレクションの列挙子が返されますが、元の 'thelist'リストは**変更されません。 – Grx70

+0

あなたのコードには何かがあるはずです。なぜなら、それはうまくいくはずだからです。http://rextester.com/UCT62601 私はfixagonが正しいかもしれないと思います。 Grx70に言及する)。 – decPL

答えて

2

私はあなたのf.Timeオブジェクトが同じ日付でタイプDateTimeのですが、だと思います複数のエントリで正確に同じ時刻ではありません。 以下を使用して、目的の組み合わせにグループ分けすることができます。

thelist.GroupBy(f => new { f.Place, f.Time.Date, f.Name}).Select(c => c.First()) 
1

使用Distinct

thelist.DistinctBy(p => p.Name); 
+1

これは質問内のグループ化とはまったく異なるものです – fixagon

+0

@fixagonこれは完全な解決策ではありませんが、後で別の項目でグループ化することができます。 –

+1

しかし、それは何のように見えません。OPは望みます:彼は、日付、場所、名前のユニークな組み合わせのリストを望んでいます。名前で一意のリストではありません – fixagon

関連する問題