zoukankan      html  css  js  c++  java
  • C# 对List<T>取交集、连集及差集

    1. 取交集

        List A :{1,5,9,3,7}

        List B:{1,6,8,5,3,2,9,4}

    var intersectedList = listA.Intersect(listB, newButtonsListEquality());

    结果:{1,3,9}

    2.取连集

    1 List A :{1,5,9,6}
    2 List B:{6,8,7,2,3}
      var bingji = ListA.Union(ListB, new ButtonsListEquality()).ToList();//并(全)集 

    结果:{1,2,3,5,6,7,8,9}

    3.取差集

    List A :{1,2,3,4,5,6}
    List B:{5,6,7,8,9}
    var chaji = ListA.Except(ListB, new ButtonsListEquality()).ToList();//差集

    结果:{1,2,3,4,7,8,9}

    辅助类:

    public class ButtonsListEquality : IEqualityComparer<SysButtons>
        {
            public bool Equals(SysButtons x, SysButtons y)
            {
                return x.Id == y.Id;
            }
    
            public int GetHashCode(SysButtons obj)
            {
                if (obj == null)
                {
                    return 0;
                }
                else
                {
                    return obj.ToString().GetHashCode();
                }
            }
        }
  • 相关阅读:
    【学习笔记】最小表示法
    bzoj1912【Apio2010】patrol 巡逻
    hdu1057
    hdu1056
    hdu1055
    hdu1054
    hdu1053
    hdu1052
    hdu1051
    hdu1050
  • 原文地址:https://www.cnblogs.com/zengdingding/p/5343849.html
Copyright © 2011-2022 走看看