c# - 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。有没有人知道我可能做错了什么?
解决方案
您也可以使用Any
,Contains
尝试将Exist
方法的代码更改为:
public bool Exist(int inputParameter)
{
return personList.Any(person => person.Id == inputParameter);
}
推荐阅读
- ruby-on-rails - 计算经过时间并保存到数据库
- python - 在多处理模块中使用 Pool 修改全局变量
- python - 想要在数据框中找到每个唯一字符串的第一个实例。然后创建一个列表,该列表是否标记为第一个唯一实例
- javascript - 反应形式中的 Ant-d 表单验证,其中创建和编辑都以相同的形式完成
- python - 迭代数据框中的行的最有效方法是什么?
- angular - jasmine-marbles 接下来只发出第一个值
- laravel - 在 Laravel 5.6 的 html 视图中使用 route() 和 with()
- orbeon - xf:range 初始隐藏时的 Orbeon 错误
- laravel - 为什么我的 laravel 策略授权在一段时间后不起作用
- matlab - 如何在MATLAB中求解变量的方程