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; } }
向新list里插入不重复的元素 不重复的话用Contains()来控制
这个List 中有加号和取正两个操作运算符,如何区别出来呢?
自己解决了 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)) { 添加操作; } 这个判断不出来取正和加号,用字典来排除就可以了
{
添加操作;
}
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;
}
}
不重复的话用Contains()来控制
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))
{
添加操作;
}
这个判断不出来取正和加号,用字典来排除就可以了