Thứ Tư, 11 tháng 2, 2015

Xóa bỏ phần tử trùng trong mảng c#

Một số cách nhanh để xóa bỏ phần tử trùng trong mảng:
- Sử dụng .Distinct()
- Lợi dụng nguyên tắc các Key của Dictionary không được trùng mình sẽ gán các phần tử vào tập Key này.
- Sử dụng HashSet.

Demo mảng số nguyên.

        static void Main(string[] args)
        {
            int[] arr = new int[1000];
            for (int i = 0; i < 998; i += 2)
            {
                arr[i] = i;
                arr[i + 1] = 1000 - i;
            }

            int[] result1 = arr.Distinct().ToArray();

            Dictionary<int, int> dic = new Dictionary<int, int>();
            HashSet<int> hash = new HashSet<int>();
            foreach (int i in arr)
            {
                dic[i] = 0;
                hash.Add(i);
            }

            int[] result2 = dic.Keys.ToArray();
            int[] result3 = hash.ToArray();


            Console.ReadLine();
        }

Không có nhận xét nào :

Đăng nhận xét