diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutAToBTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutAToBTagDataEntry.cs
index a6758e333..f7c094632 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutAToBTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutAToBTagDataEntry.cs
@@ -183,14 +183,21 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
///
public override int GetHashCode()
{
- return HashCode.Combine(
- this.Signature,
- this.InputChannelCount,
- this.OutputChannelCount,
- this.Matrix3x3,
- this.Matrix3x1,
- this.ClutValues,
- HashCode.Combine(this.CurveB, this.CurveM, this.CurveA));
+#pragma warning disable SA1129 // Do not use default value type constructor
+ var hashCode = new HashCode();
+#pragma warning restore SA1129 // Do not use default value type constructor
+
+ hashCode.Add(this.Signature);
+ hashCode.Add(this.InputChannelCount);
+ hashCode.Add(this.OutputChannelCount);
+ hashCode.Add(this.Matrix3x3);
+ hashCode.Add(this.Matrix3x1);
+ hashCode.Add(this.ClutValues);
+ hashCode.Add(this.CurveB);
+ hashCode.Add(this.CurveM);
+ hashCode.Add(this.CurveA);
+
+ return hashCode.ToHashCode();
}
private bool EqualsCurve(IccTagDataEntry[] thisCurves, IccTagDataEntry[] entryCurves)
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutBToATagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutBToATagDataEntry.cs
index 6ee110199..27572acd0 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutBToATagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutBToATagDataEntry.cs
@@ -183,14 +183,21 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
///
public override int GetHashCode()
{
- return HashCode.Combine(
- this.Signature,
- this.InputChannelCount,
- this.OutputChannelCount,
- this.Matrix3x3,
- this.Matrix3x1,
- this.ClutValues,
- HashCode.Combine(this.CurveB, this.CurveM, this.CurveA));
+#pragma warning disable SA1129 // Do not use default value type constructor
+ var hashCode = new HashCode();
+#pragma warning restore SA1129 // Do not use default value type constructor
+
+ hashCode.Add(this.Signature);
+ hashCode.Add(this.InputChannelCount);
+ hashCode.Add(this.OutputChannelCount);
+ hashCode.Add(this.Matrix3x3);
+ hashCode.Add(this.Matrix3x1);
+ hashCode.Add(this.ClutValues);
+ hashCode.Add(this.CurveB);
+ hashCode.Add(this.CurveM);
+ hashCode.Add(this.CurveA);
+
+ return hashCode.ToHashCode();
}
private bool EqualsCurve(IccTagDataEntry[] thisCurves, IccTagDataEntry[] entryCurves)