int[] a = { 3, 4, 3, 8, 9, 22, 44, 1, 5, 66, 11, 16, 21, 22, 2, 55, 99, 26, 29, 11, 3, 22, 62, 69, 72, 79, 22 };如何統計有那些數字是重複?
還有把重複的資料剔除?

解决方案 »

  1.   

      int[] a = { 3, 4, 3, 8, 9, 22, 44, 1, 5, 66, 11, 16, 21, 22, 2, 55, 99, 26, 29, 11, 3, 22, 62, 69, 72, 79, 22 };
                Console.WriteLine("重复的数");
                a.GroupBy(t => t).Where(t => t.Count() > 1).Select(t => t.Key).ToList().ForEach(t => Console.WriteLine(t));
    //去除重复的数
     a = a.Distinct().ToArray();
              
      

  2.   


               int[] a = { 3, 4, 3, 8, 9, 22, 44, 1, 5, 66, 11, 16, 21, 22, 2, 55, 99, 26, 29, 11, 3, 22, 62, 69, 72, 79, 22 };            //Lambda表达式
                var result = a.GroupBy(c => c).Where(d => d.Count() > 1).OrderBy(c=>c.Key);            //LINQ
                var result1 = from u in a
                             group u by u into temp
                             where temp.Count()>1
                             orderby temp.Key
                             select new
                                 {
                                     temp.Key,
                                     Count = temp.Count()
                                 };
                foreach (var item in result)
                    Console.WriteLine(item.Key + " " + "Count=" + item.Count());            foreach (var item in result1)
                    Console.WriteLine(item.Key + " " + "Count=" + item.Count);