首页 > 解决方案 > C# 列表包含

问题描述

好的,所以我有一个我自己的类类型的列表,它又具有字符串和整数等参数,如果我与用户输入的内容匹配,我想使用 Contains() 检查我的列表。

至于示例,您可以假设列表中已经有成员。

class Person 
{
    public string Name {get; set;}
    public int Age {get; set;}
    public int Id {get; set;}

    public Person()
    {
    }
}

class PersonList : Person
{
    List<Person> personList = new List<Person>();

    public bool Exist(int inputParameter)
    {
       if (personList.Contains(new Person { Id = inputParameter }))
       {
           return true;
       }
       else
       {
           return false;
       }
    }
}

现在,即使我确定输入属于列表中已经存在的成员,我的 Exist 方法也总是返回 false。有没有人知道我可能做错了什么?

标签: c#.netclass

解决方案


您也可以使用AnyContains尝试将Exist方法的代码更改为:

public bool Exist(int inputParameter)
{
    return personList.Any(person => person.Id == inputParameter);
}

推荐阅读