diff --git a/src/Avalonia.Visuals/Media/HsvColor.cs b/src/Avalonia.Visuals/Media/HsvColor.cs
index 39ddcf7de6..c46d3bf4b8 100644
--- a/src/Avalonia.Visuals/Media/HsvColor.cs
+++ b/src/Avalonia.Visuals/Media/HsvColor.cs
@@ -143,7 +143,16 @@ namespace Avalonia.Media
/// The hashcode for this object.
public override int GetHashCode()
{
- return HashCode.Combine(A, H, S, V);
+ // Same algorithm as Color
+ // This is used instead of HashCode.Combine() due to .NET Standard 2.0 requirements
+ unchecked
+ {
+ int hashCode = A.GetHashCode();
+ hashCode = (hashCode * 397) ^ H.GetHashCode();
+ hashCode = (hashCode * 397) ^ S.GetHashCode();
+ hashCode = (hashCode * 397) ^ V.GetHashCode();
+ return hashCode;
+ }
}
///