KeyEqualityComparer.cs 598 B

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