2012-02-17 3 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에서 번역되었습니다. "날짜"는 변수입니다. – 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

테스트 프로그램을 만들었고 모든 복제 된 항목을 가져옵니다 ... 다른 결과를 얻는 이유를 생각할 수 없습니다 ... –

관련 문제