Return a list containing only the different (distinct) values of the specified collection. - CSharp System.Collections.Generic

CSharp examples for System.Collections.Generic:List

Description

Return a list containing only the different (distinct) values of the specified collection.

Demo Code

/*/* ww w . j a v a2s .c o  m*/
  FluorineFx open source library 
  Copyright (C) 2007 Zoltan Csibi, zoltan@TheSilentGroup.com, FluorineFx.com 
  
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.
  
  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.
  
  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.Reflection;
using System.Collections;
using System;

public class Main{
        /// <summary>
        /// Return a list containing only the different (distinct) values of the specified collection.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="collection">A generic List.</param>
        /// <returns>A list containing only the different (distinct) values of the specified collection.</returns>
        public static List<T> Distinct<T>(List<T> collection)
        {
            var distinctList = new List<T>();

            foreach (var value in collection)
            {
                if (!distinctList.Contains(value))
                    distinctList.Add(value);
            }

            return distinctList;
        }
}

Related Tutorials