【C#】 去除数组重复元素

需求:假设有一个int数组,数组内元素为“1”,“1”,“1”,“2”,“2”,“3”。将这个数组中的重复元素去除。

class Program
{
    static void Main(string[] args)
    {
        int[] Array = new int[] {1,1,1,2,2,3};

        List<int> ArrayList = new List<int>();
        foreach (int n in Array)
        {
            if (!ArrayList.Contains(n))
            {
                ArrayList.Add(n);
            }
        }
        foreach(int n in ArrayList)
        {
            Console.Write(n);
        }
    }
}

当数据量较少时还可行,如果数据量增大,其效率将难以接受。

class Program
{
    static void Main(string[] args)
    {
        int[] Array = new int[] {1,1,1,2,2,3};

        //    List<int> ArrayList = new List<int>();
        //    foreach (int n in Array)
        //    {
        //        if (!ArrayList.Contains(n))
        //        {
        //            ArrayList.Add(n);
        //        }
        //    }
        //    foreach(int n in ArrayList)
        //    {
        //        Console.Write(n);
        //    }
        int[] Array2 = Array.Distinct().ToArray();
        foreach(int n in Array2)
        {
            Console.Write(n);
        }

    }
}

使用Distinct方法可以直接将数组内重复元素去除。


版权声明:本文为qq_40770186原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。