Employee emp1 = new Employee {Name = "Swapnil",Age = 27 };
Employee emp2 = new Employee { Name = "Swapnil", Age = 27 };
if (object.Equals(emp1, emp2))
{
}
else
{
}
此代码无法比较.
我如何比较C#中的两个对象?
最佳答案 如果不重写Equals方法,则只会引用参考比较.您想要执行值比较.
覆盖Employee类中的方法,如下所示:
public override bool Equals(Object emp)
{
// If parameter is null return false.
if (emp == null)
{
return false;
}
// If parameter cannot be cast to Point return false.
Employee e = emp as Employee;
if ((System.Object)e == null)
{
return false;
}
// Return true if the fields match
return (Name == emp.Name) && (Age == emp.Age);
}
然后像这样比较对象:
if(emp1.Equals(emp2))
{ ... }
或者与比较运算符:
if(emp1 == emp2)
{ ... }
有关MSDN的更多详细信息:http://msdn.microsoft.com/en-us/library/ms173147(v=vs.80).aspx