我想在Person对象列表上有多个.Contains(...)
方法,特别是.Contains([Person])
和.Contains([int])
类似于我可以拥有.Equals([Person])
和{{ 1}}。 .Equals([int])
是问题所在,因为int是.Contains([int])
的无效参数。
人员班
.Contains(...)
这就是我正在做的
private class Person
{
private int number;
private string name;
public Person(int number, string name)
{
this.number = number;
this.name = name;
}
public override bool Equals(object obj)
{
if (obj is int) return Equals((int) obj);
if (obj is Person) return Equals((Person) obj);
return false;
}
public bool Equals(int otherNumber)
{
return number == otherNumber;
}
public bool Equals(Person otherPerson)
{
if (number != otherPerson.number) return false;
if (name != otherPerson.name) return false;
return true;
}
}
答案 0 :(得分:4)
您可以使用Enumerable.Any Method。
确定序列中的任何元素是否存在或满足条件。
您没有说<!-- added an "id" to the form element to easily select it with "JavaScript" -->
<form id="my-form" action="https://example.com/" method="GET">
<input type="text" name="username" required> <br>
<input type="submit" value="go">
</form>
<!-- the "div#countdown" will have the count down till redirection happens, also I added some styling to it to be more realistic in this example -->
<div id="countdown" class="overlay">
<p>You have to wait <span class="count">10</span> seconds before redirecting...</p>
</div>
应该做什么,但是我假设如果有一个Contains(int)
的{{1}}对于给定的{{ 1}}。
Person
如果您想通过称为Equals(int)
的方法来调用它,可以使用Extension Method。
int
答案 1 :(得分:0)
我认为您正在将两种类型的检查与单个列表混合使用。首先,您正在检查具有工作状态的人对象contains
,因为该列表属于Person
类型,而您正尝试在1
列表中检查persons
类型为{ {1}}。
您需要更改类似int