public class Person
{
private string name;
private int age;
public Person(string name, int age)
{
this.name = name;
this.age = age;
}
// Override the Equals method to compare two Person objects based on their properties
public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
{
return false;
}
Person other = (Person)obj;
return name == other.name && age == other.age;
}
// It's also a good practice to override GetHashCode when overriding Equals
public override int GetHashCode()
{
return name.GetHashCode() ^ age.GetHashCode();
}
}
// Example usage:
Person person1 = new Person("John", 30);
Person person2 = new Person("John", 30);
Console.WriteLine(person1.Equals(person2)); // Output: True
Person
类包含两个私有字段 name
和 age
,以及一个构造函数来初始化这些字段。Equals
方法:通过重写 Object
类的 Equals
方法,我们定义了如何比较两个 Person
对象。这里我们检查对象是否为 null
或类型是否匹配,然后比较 name
和 age
属性。GetHashCode
方法:为了确保哈希表等数据结构能够正确工作,通常需要同时重写 GetHashCode
方法。这里我们简单地将 name
和 age
的哈希码进行异或运算。Person
对象,并使用 Equals
方法比较它们。如果两个对象的属性相同,则返回 True
。上一篇:c# set
下一篇:c# orderby
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站