2012-02-17 18 views
1

Hy男!linqでリスト内の複製アイテムを選択する方法は?

アイテムを複製できる「ObjDay」のリストがあります。どのように選択できますか?

Public class ObjDay 
     _date 
     ... 
    End Class 

は私が実行しようとしました:

replicatedItems = From d In ObjDaysList _ 
       Order By d._date _ 
       Group d By d._date Into newGroupOfObjDays = Group _ 
       Where newGroupOfObjDays.Count > 1 _ 
       Select newGroupOfObjDays 

しかし、私はこのエラーを取得しています:

ObjDayがある

Can't convert object of type 'WhereSelectEnumerableIterator 2[VB$AnonymousType_0 2[System.DateTime,System.Collections.Generic.IEnumerable 1[ObjDay]], System.Collections.Generic.IEnumerable 1[ObjDay]]' in type 'System.Collections.Generic.List`1[ObjDay]'.


TKSの助けを!

+0

日付は入力されていませんか?実際の変数名に割り当てるべきではありませんか? – Scottie

+0

Scottie、それはPortuguseから翻訳されました。 "date"は変数です。 – Thiago

答えて

0

グループを選択し、List(Of ObjDay)に割り当てようとしています。それは動作しません。あなたはできます:

'Get groups of duplicate items 
Dim groups = From d In ObjDaysList _ 
      Order By d._date _ 
      Group d By d._date Into newGroupOfObjDays = Group _ 
      Where newGroupOfObjDays.Count > 1 _ 
      Select newGroupOfObjDays 

'Get all items from these groups with SelectMany 
replicatedItems = groups.SelectMany(Function(item) item).ToList 
+0

テストプログラムを作成しましたが、複製されたすべての項目を取得します...異なる結果を得る理由は考えられません... –

関連する問題