public class ClassTBInfo
{
public string TBH { get; set; }
public string DistrictCode { get; set; }
public ClassTBInfo()
{
}
public ClassTBInfo(string tbh ,string districtCode)
{
this.DistrictCode = districtCode;
this.TBH = tbh;
}
public override int GetHashCode()
{
return this.DistrictCode.GetHashCode() + this.TBH.GetHashCode();
}
public override bool Equals(object obj)
{
if (object.ReferenceEquals(this, obj) == true)
{
return true;
}
ClassTBInfo objCompare = (ClassTBInfo)obj;
if (this.DistrictCode == objCompare.DistrictCode && this.TBH == objCompare.TBH)
{
return true;
}
return false;
}
}
重载GetHashCode只要是用dictionary对象的时候可以通过trygetvalue只要里面的值相等就认为key相等,否则不同对象
也是不同的key
IDictionary<ClassTBInfo, IList<ClassTBInfo>> dicTBInfo = null;
重载equals方法主要是hashset使用
HashSet<ClassTBInfo> hashTBInfo = new HashSet<ClassTBInfo>();
ClassTBInfo c1 = new ClassTBInfo("431", "5487364");
bool b1 = hashTBInfo.Add(c1);
ClassTBInfo c2 = new ClassTBInfo("431", "5487364");
bool b = hashTBInfo.Add(c2);