2012-04-27 5 views
1

からオブジェクトを削除します。私はこのIEnumerableを持ってIEnumerable

var collection = from obj in list 
         select new 
         { 
          Title = (string)obj.Element("title"), 
          otherAtt = (string)obj.Element("otherAtt"), 
          .. 
          .. 
          .. 
          .. 
         }; 

をそして、私は重複タイトルを持っている「コレクション」内のすべてのオブジェクトを削除します。最後には重複したものを残しておきます。例えば

collection = { 
    {Title="aaa" ,otherAtt="1" ,....}, 
    {Title="bbb" ,otherAtt="2" ,....}, 
    {Title="aaa" ,otherAtt="3" ,....}, 
    {Title="aaa" ,otherAtt="4" ,....}, 
    {Title="ccc" ,otherAtt="5" ,....}, 
    {Title="bbb" ,otherAtt="6" ,....} 
} 

そして、私は、フィルタは、コレクションがそのように見えることになりますことを必要とする:

collection = { 
    {Title="aaa" ,otherAtt="4" ,....}, 
    {Title="ccc" ,otherAtt="5" ,....}, 
    {Title="bbb" ,otherAtt="6" ,....} 
} 

感謝。

答えて

0

次のように動作します:

私は、これはあなたが必要なものにかなり近いと思い

var noDuplicateTitles = collection 
    .GroupBy(obj => obj.Title) 
    .Select(group => group.Last()) 

同じタイトルを持つすべてのオブジェクトがグループ化され、そして私たちは、各グループから最後の項目を取ります。

関連する問題