KeyEqualityComparer.cs 561 B

123456789101112131415161718192021222324252627282930313233
  1. /// <summary>
  2. ///
  3. /// </summary>
  4. public class KeyEqualityComparer : IEqualityComparer<Key>
  5. {
  6. /// <inheritdoc />
  7. public bool Equals (Key? x, Key? y)
  8. {
  9. if (ReferenceEquals (x, y))
  10. {
  11. return true;
  12. }
  13. if (x is null || y is null)
  14. {
  15. return false;
  16. }
  17. return x.KeyCode == y.KeyCode;
  18. }
  19. /// <inheritdoc />
  20. public int GetHashCode (Key? obj)
  21. {
  22. if (obj is null)
  23. {
  24. return 0;
  25. }
  26. return obj.KeyCode.GetHashCode ();
  27. }
  28. }