У меня есть программа, которая должна управлять объектами с помощью составного ключа.этот ключ, чтобы быть простым, это пара строк.
У меня есть следующий код:
public struct MyKey
{
public string Part1 { get; set;} // always set
public string Part2 { get; set;} // can be null
public MyKey(string part1, string part2) : this()
{
this.Part1 = part1;
this.Part2 = part2;
}
}
это нормально для хранения моих значений.
Теперь я хочучтобы иметь возможность:
- использовать оператор равенства (part1 и part2 равны)
- использовать ключ в словаре, особенно для использования метода Contains
Я угадал несколько вещей (переопределить оператор equals, переопределить методы GetHashCode и Equals, реализовать IComparable и т. Д.), Но я не уверен, каковы необходимые шаги для достижения моих целей и что вызовет издержки.
спасибо заранее