C# 使用泛型的方式判断两个对象是否相等
时间: 2023-10-02 07:03:25 浏览: 92
JavaScript比较两个对象是否相等的方法
5星 · 资源好评率100%
在 C# 中,使用泛型的方式判断两个对象是否相等可以使用 `EqualityComparer<T>.Default.Equals` 方法或者重载 `==` 运算符。如果要比较两个对象的值是否相等,需要重写相应类的 `Equals` 方法。
示例代码:
```csharp
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public override bool Equals(object obj)
{
if (obj == null || !(obj is Person))
{
return false;
}
Person p = (Person)obj;
return Name == p.Name && Age == p.Age;
}
public override int GetHashCode()
{
return Name.GetHashCode() ^ Age.GetHashCode();
}
}
Person p1 = new Person { Name = "Alice", Age = 18 };
Person p2 = new Person { Name = "Alice", Age = 18 };
bool isEqual1 = EqualityComparer<Person>.Default.Equals(p1, p2); // true
bool isEqual2 = p1 == p2; // true
```
阅读全文