Как проверить, содержит ли поле хотя бы одна структура из List, пользуясь методом Contains ()?
Вкратце, нужно делать проверки у List методом Contains(), но сравнивать поле с полем структуры.
Пример кода:
struct Example
{
string name;
int ID;
float parameter1;
bool parameter2;
Example(name)
{
this.name = name;
}
}
List<Example> examples = new Example();
examples.Add(new Example("part1"));
examples.Add(new Example("part2"))
if (examples.Contains(string "part1"))
{
// do something
}
Я пробовал переопределить метод Equals() в структуре таким образом и ничего у меня не вышло:
public override bool Equals(object obj)
{
if(obj is string str)
return this.name == str;
}
public Equals(string str)
{
return this.name == str;
}
Также есть вопрос заодно, почему надо переопределять метод GetHashCode() вместе с Equals()? Можно ли этот момент пропустить и будут ли последствия?