Returning a Distinct list of values from an array or IEnumerable collection

I recently had a list of Guids in a string which was returned from a group of checkboxes with identical names. I wanted to itterate through Guids and process each one only once. Basicaly, ignoring duplicates.

I didn't have to look very far before I discovered the .Distinct() method. See example below:

string[] allAnimals = 
            "cat,dog,mouse,chicken,cat,dog,elephant,mouse".Split(",".ToCharArray());

foreach (string animal in allAnimals.Distinct())
{
    Console.WriteLine(animal);
}
Console.ReadLine();

The output?

cat
dog
mouse
chicken
elephant

This triggered me to look at some of the other IEnumerable methods I'd ignored. My favourites so far are:

.Take(int)

.Skip(int)

.Reverse()

Author Paul Hayman

Paul is the COO of kwiboo ltd and has more than 20 years IT consultancy experience. He has consulted for a number of blue chip companies and has been exposed to the folowing sectors: Utilities, Telecommunications, Insurance, Media, Investment Banking, Leisure, Legal, CRM, Pharmaceuticals, Interactive Gaming, Mobile Communications, Online Services.

Paul is the COO and co-founder of kwiboo (http://www.kwiboo.com/) and is also the creator of GeekZilla.

Add Comment

Name
Comment
 

Your comment has been received and will be shown once it passes moderation.