各位大虾,如何快速删除List中相同的元素或者在加载的时候如何避免添加相同的元素阿?
数据量大,需要好方法,谢谢

解决方案 »

  1.   

    添加的时候做个判断:if(!ListX.Contains(ListItem))
    {
      添加操作;
    }
      

  2.   

    List <T>过滤重复数据 
    List list = new List(); 
                list.Add("1"); 
                list.Add("1"); 
                list.Add("2");             List list2 = new List(); 
                foreach (string s in list) 
                    if (!list2.Contains(s)) 
                        list2.Add(s); 
    或 
    private class MyCompare : System.Collections.IComparer 
            { 
                public int Compare(object x, object y) 
                { 
                  return 1; 
                } 
        }
      

  3.   

    向新list里插入不重复的元素
    不重复的话用Contains()来控制
      

  4.   

    这个List 中有加号和取正两个操作运算符,如何区别出来呢?
      

  5.   

    自己解决了
     Private Function GetTokensFromType(Of T As IToken)() As IEnumerable(Of IntelliSenseItem)
                Dim dic As New Dictionary(Of IntelliSenseItem, String)
                Dim typeName As String = Reflector.GetDisplayName(GetType(T))
                Dim pis() As PropertyInfo = GetType(T).GetProperties(Reflection.BindingFlags.Static Or Reflection.BindingFlags.Public)
                For Each pi As System.Reflection.PropertyInfo In pis
                    Dim obj As T = DirectCast(Reflector.GetMemberValue(Nothing, pi), T)
                    Dim itm As IntelliSenseItem = CreateItem(typeName, obj)
                    If Not dic.ContainsValue(itm.Text) Then
                        dic.Add(itm, itm.Text)
                    End If
                Next
                Return dic.Keys
            End Functionif(!ListX.Contains(ListItem)) 

      添加操作; 

    这个判断不出来取正和加号,用字典来排除就可以了