日期:2014-05-17  浏览次数:21110 次

如何判断一个LIST中是否有重复的值?
 List<ListClass> lst = new List<ListClass>();
其中ListClass是一个类的实例化对象,这个类包括:
姓名,ID两个属性
如何判断lst中是否存在 姓名重复的值?

------解决方案--------------------
bool b= lst.GroupBy(l=>l.Name).Where(g=>g.Count()>1).Count()>0;
------解决方案--------------------
lst.ToDictionary(o => { return o.name; });
不出异常就没重复
------解决方案--------------------
哈希表解决        。
------解决方案--------------------

using System.Linq;
             List<int> list = new List<int>();
                list.Add(1);
                list.Add(3);
                list.Add(5);
                list.Add(1);
                list.Add(5);              
                list=list.Distinct().ToList();
                foreach (var value in list)
                {
                    Response.Write(value + "<br />");
                }


------解决方案--------------------

  public static class DistinctExtensions
    {
        public static IEnumerable<T> Distinct<T, V>(this IEnumerable<T> source, Func<T, V> keySelector)
        {
            return source.Distinct(new CommonEqualityComparer<T, V>(keySelector));
        }

        public static IEnumerable<T> Distinct<T, V>(this IEnumerable<T> source, Func<T, V> keySelector, IEqualityComparer<V> comparer)
        {
            return source.Distinct(new CommonEqualityComparer<T, V>(keySelector, comparer));
        }