我正在尝试使用 C# MoreLinq 来尝试找出重复项。
这是一个例子。有联盟,联盟内有球队。球队中的每个球员都可以踢任何位置。
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)
这消除了重复。关闭。