【发布时间】:2008-12-04 13:02:47
【问题描述】:
我有一个客户类。
public class Customer
{
private string _id;
private string _name;
// some more properties follow
我继承了 EqualityComparer 表单 MyEqualityComparer(of Customer)。
我打算在 LINQ 查询中使用它。
MyEqualityComparer 用于两个对象之间的部分检查。
如果 customer.id 和 customer.name 匹配,我将对象视为平等。
public class MyComparer : System.Collections.Generic.EqualityComparer<Customer>
{
public override bool Equals(Customer x, Customer y)
{
if (x.Id == y.Id && x.Name == y.Name)
return true;
else
return false;
}
public override int GetHashCode(Customer obj)
{
return string.Concat(obj.Id,obj.Name).GetHashCode();
}
}
我提到了generating hashcode。
我不太确定连接字符串并将其用作哈希码。
这是我想要做的安全和健全的事情吗?
【问题讨论】: