C#过滤重复数据,使用泛型
生活随笔
收集整理的這篇文章主要介紹了
C#过滤重复数据,使用泛型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#region List<T> 過濾重復數據
public delegate bool EqualsComparer<T>(T x, T y);
/// <summary>
/// 過濾重復數據
/// </summary>
public class Comparint<T> : IEqualityComparer<T>
{
private EqualsComparer<T> ec;
public Comparint() { }
public Comparint(EqualsComparer<T> e)
{
this.ec = e;
}
#region IEqualityComparer<T> 成員
public bool Equals(T x, T y)
{
if (null != this.ec)
return this.ec(x, y);
else
return false;
}
public int GetHashCode(T obj)
{
return obj.ToString().GetHashCode();
}
#endregion
}
#endregion
使用示例
string[] strList = oldMailList.Split(',');
string strNewMailList = "";
List<string> emailList = new List<string>();
try
{
emailList.AddRange(strList);//增加到List中
List<string> emailList2 = emailList.Distinct(new Comparint<string>(
delegate(string x, string y)
{
if (null != x && null != y)
return x.GetHashCode() == y.GetHashCode();
return false;
}
)).ToList();
}
public delegate bool EqualsComparer<T>(T x, T y);
/// <summary>
/// 過濾重復數據
/// </summary>
public class Comparint<T> : IEqualityComparer<T>
{
private EqualsComparer<T> ec;
public Comparint() { }
public Comparint(EqualsComparer<T> e)
{
this.ec = e;
}
#region IEqualityComparer<T> 成員
public bool Equals(T x, T y)
{
if (null != this.ec)
return this.ec(x, y);
else
return false;
}
public int GetHashCode(T obj)
{
return obj.ToString().GetHashCode();
}
#endregion
}
#endregion
使用示例
string[] strList = oldMailList.Split(',');
string strNewMailList = "";
List<string> emailList = new List<string>();
try
{
emailList.AddRange(strList);//增加到List中
List<string> emailList2 = emailList.Distinct(new Comparint<string>(
delegate(string x, string y)
{
if (null != x && null != y)
return x.GetHashCode() == y.GetHashCode();
return false;
}
)).ToList();
}
轉載于:https://www.cnblogs.com/chhuic/archive/2011/07/20/2111532.html
總結
以上是生活随笔為你收集整理的C#过滤重复数据,使用泛型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么通过手机号码查对方的真实身份?
- 下一篇: Oracle 10G 全新创建数据库过程