1
我正在嘗試使用C#MoreLinq嘗試找出重複項。DistinctBy 3 Params
這裏是一個例子。聯盟內有一個聯盟球隊。隊中的每個球員都可以打任何位置。
public sealed class Triad
{
public int Id1 {get;set;}
public int Id2 {get;set;}
public int Id3 {get;set;}
}
有了這個,我想GROUPBY
ArrayOfTraids.GroupBy(new { Id1, Id2, Id3}).Select(t => t);
例
如果ID1 = 1,Id2的= 2和ID3 = 3,在這個例子中,我們會得到1個對象。
我想解決的問題是,如果Id1 = 2,Id2 = 3,Id3 = 1,我希望它也是相同的列表的分開,因爲int值仍然是1,2,3(不管的順序,它們仍然是相同的值)。
我覺得這可能很簡單,但我不確定。
解決
結束了做這樣的事情
ArrayOfTriads.Where(t => t.Id1 < t.Id2 && t.Id2 < t.Id3)
這樣可以避免重複。關閉。
:
這將產生})' – abatishchev
@abatishchev只有玩家始終保持位置1纔有效。如果玩家A移動到位置2,則考慮一個新的「團隊」。我不想要它。我覺得它很簡單,但並不那麼簡單。 :) –
你的問題很難理解。給我一個輸入和輸出的例子。 – Xela