 
  
  public override int GetHashCode() => HashCode.Combine(Name, Address, Phone); 
  
  a ^ b 
  
  c.add(b)
b.clear() 
      Можно ли обойтись без использования WinAPI?
 
  
  %d. Еще, scanf возвращает количество прочитанных значений. Т.е. сравнивать надо с тройкой, а не единицей.