14

Possible Duplicate:
Remove duplicates from array

How to get distinct values from an array in C#

Community
  • 1
  • 1
AK Jani
  • 153
  • 1
  • 1
  • 4

4 Answers4

29

You could use the .Distinct() extension method.

var collectionWithDistinctElements = oldArray.Distinct().ToArray();
Darin Dimitrov
  • 994,864
  • 265
  • 3,241
  • 2,902
8

Using Distinct() function:

var distinctArray = myArray.Distinct().ToArray();
coder3521
  • 2,482
  • 1
  • 25
  • 44
Samich
  • 28,257
  • 5
  • 65
  • 76
6

Use the Distinct method in LINQ.

See http://msdn.microsoft.com/en-us/library/bb348436.aspx

            List<int> ages = new List<int> { 21, 46, 46, 55, 17, 21, 55, 55 };

            IEnumerable<int> distinctAges = ages.Distinct();

            Console.WriteLine("Distinct ages:");

            foreach (int age in distinctAges)
            {
                Console.WriteLine(age);
            }

            /*
             This code produces the following output:

             Distinct ages:
             21
             46
             55
             17
            */
agarcian
  • 3,881
  • 2
  • 28
  • 53
2

Distinct should suffice your problem, but if you are doing this on custom object you will need to implement IEquatable<T> and will need to override GetHashCode() method to make it work.

Amar Palsapure
  • 9,432
  • 1
  • 26
  • 46