Example #1
0
        public static List <Int64> ListDiff(List <Int64> list1, List <Int64> list2, ListDiffMode mode = ListDiffMode.EachList)
        {
            List <Int64> diff = new List <Int64>();

            foreach (Int64 item in list1.Distinct())
            {
                for (int i = 0; i < list1.Where(item1 => item1 == item).Count() -
                     list2.Where(item2 => item2 == item).Count(); i++)
                {
                    diff.Add(item);
                }
                if (mode == ListDiffMode.EachList)
                {
                    for (int i = 0; i < list2.Where(item2 => item2 == item).Count() -
                         list1.Where(item1 => item1 == item).Count(); i++)
                    {
                        diff.Add(item);
                    }
                }
            }
            return(diff);
        }
Example #2
0
 public static List<Int64> ListDiff(List<Int64> list1, List<Int64> list2, ListDiffMode mode = ListDiffMode.EachList)
 {
     List<Int64> diff = new List<Int64>();
     foreach (Int64 item in list1.Distinct())
     {
         for (int i = 0; i < list1.Where(item1 => item1 == item).Count() -
             list2.Where(item2 => item2 == item).Count(); i++)
         {
             diff.Add(item);
         }
         if (mode == ListDiffMode.EachList)
         {
             for (int i = 0; i < list2.Where(item2 => item2 == item).Count() -
                 list1.Where(item1 => item1 == item).Count(); i++)
             {
                 diff.Add(item);
             }
         }
     }
     return diff;
 }