不同的List <List <int >>?

伊瓦洛·科拉科夫(Ivailo Korakov)


我仅获取不重复列表有问题。
所以我有 :

List<List<int>> combinations = new List<List<int>>();
combinations.Add(new List<int> {1,1});
combinations.Add(new List<int> {1,2});
combinations.Add(new List<int> {1,1}); // Same
combinations.Add(new List<int> {1,3});

我需要做的只是获得:

{1,1}
{1,2}
{1,3}

我尝试过此方法:combinations = combinations.Distinct().ToList();但这不起作用。
有任何想法吗。先感谢您。

戴夫·肖

您可以使用自己的比较器:

var distincts = 
    combinations
    .Distinct(new ListOfIntComparer());    

class ListOfIntComparer : IEqualityComparer<List<int>>
{
    public bool Equals(List<int> a, List<int> b)
    {
        return
            a.SequenceEqual(b);
    }

    public int GetHashCode(List<int> l)
    {
        unchecked
        {
            int hash = 19;
            foreach (var foo in l)
            {
                hash = hash * 31 + foo.GetHashCode();
            }
            return hash;
         }
    }
}

GetHasCode()Jon Skeet的实现在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查int或list <int>

来自分类Dev

Unity (C#):如何从不同的场景调用 List<int>?

来自分类Dev

将List <int?>转换为List <int>

来自分类Dev

flatten a list of int array

来自分类Dev

“ List <int> [,]”和“ List <List <int >>”之间的区别

来自分类Dev

检查List <List <int >>是否包含List <int>

来自分类Dev

检查List <List <int >>是否包含List <int>

来自分类Dev

将List [Any]转换为List [Int]

来自分类Dev

JSON body to List<int>, List<decimal> and long

来自分类Dev

使用特定元素更新List [List [Int]]

来自分类Dev

将List [Any]转换为List [Int]

来自分类Dev

通过List <int>从List <Object>中选择

来自分类Dev

同时接受int []和List <int>的方法

来自分类Dev

从EntityFramework表返回Dictionary <int,List <Int >>

来自分类Dev

从DataView访问单个int元素(List <int>)

来自分类Dev

从EntityFramework表返回Dictionary <int,List <Int >>

来自分类Dev

将 ObjectResult<int?> 转换为 List<int>

来自分类Dev

在 Dictionary<int,List<int>> 中查找值

来自分类Dev

int[] 到 List<int> 的类型映射

来自分类Dev

转换字典<int,List <User >>

来自分类Dev

Mono说int是List <dynamic>

来自分类Dev

在sql List <int>中搜索?

来自分类Dev

如何排序List [Int]对象?

来自分类Dev

从JsObject解析Scala List [Int]

来自分类Dev

读取文件到 List<int>

来自分类Dev

删除地图<int,list<struct*>>

来自分类Dev

list<list<int>> 使用 list[][] C# 赋值

来自分类Dev

Python:为什么对int和list函数参数进行不同的处理?

来自分类Dev

使用LINQ将List <int>转换为Dictionary <int,int>