从自定义列表<t>返回重复项目,而不是按顺序C#

时间:2015-09-13 03:23:42

标签: c# linq duplicates

我在自定义列表中有(6)个数字序列的集合

列表示例

1。 1,2,3,4,5,6

2。 2,1,8,9,8,4

3。 6,5,4,3,2,1

基本上,我需要获得相同的数字组,这些数字不一定是相同的顺序。因此,对于上面的示例,我需要返回1,2,3,4,5,66,5,4,3,2,1

我有以下内容适用于单个数字,但不适用于6个数字组。

var dupes = numCol.GroupBy(x => x)
    .Where(x => x.Count() > 1)
    .Select(x => x.Key)
    .ToList();

最好和最有效的方法是什么?

感谢。

修改

我的自定义列表结构示例如下..

 public class Numbers
 {
     private int _First;
     public int First
     {
         get { return _First; }
         set { _First = value; }
     }
     private int _Second;
     public int Second
     {
         get { return _Second; }
         set { _Second = value; }
     }
     ...

1 个答案:

答案 0 :(得分:2)

如果订单不重要,请使用设置而不是列表

List是一个有序的元素序列,而Set是一个不同的元素列表。

如果你真的需要一个List,你需要迭代列表才能做到这一点。没有更高效的做法。 Linq的功能在幕后实现,它们只是开发人员的缩影。