c# list 自定义类型 contains
时间: 2023-09-03 08:12:05 浏览: 107
C#_List用法详解
如果你想在C#的List中查找是否包含某个自定义类型的对象,可以考虑实现该自定义类型的相等比较方法(Equals方法和GetHashCode方法),并在List的Contains方法中使用该方法进行比较。
下面是一个示例代码:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
{
return false;
}
Person p = (Person)obj;
return Name == p.Name && Age == p.Age;
}
public override int GetHashCode()
{
return (Name + Age.ToString()).GetHashCode();
}
}
List<Person> people = new List<Person>
{
new Person {Name = "Alice", Age = 25},
new Person {Name = "Bob", Age = 30}
};
bool containsAlice = people.Contains(new Person {Name = "Alice", Age = 25});
```
在上面的代码中,我们创建了一个Person类,并在该类中实现了Equals方法和GetHashCode方法。然后我们创建了一个List<Person>对象,并在其中添加了两个Person对象。最后,我们使用List的Contains方法查找是否包含一个名为"Alice",年龄为25岁的Person对象,并将结果存储在containsAlice变量中。
阅读全文