From cb34bde9715eec2eadf771a1169d055d54d80e47 Mon Sep 17 00:00:00 2001 From: MarcUs7i <96580944+MarcUs7i@users.noreply.github.com> Date: Mon, 20 Jan 2025 20:48:57 +0100 Subject: [PATCH] Added implementation of Equal() and GetHashCode() --- BuildingDirectory/Model/BusinessCard.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/BuildingDirectory/Model/BusinessCard.cs b/BuildingDirectory/Model/BusinessCard.cs index 8288fd3..a677529 100644 --- a/BuildingDirectory/Model/BusinessCard.cs +++ b/BuildingDirectory/Model/BusinessCard.cs @@ -52,14 +52,20 @@ public sealed class BusinessCard /// /// Other object to compare to /// True if the objects are equal; false otherwise - // TODO - public override bool Equals(object? obj) - => false; + public override bool Equals(object? obj) + { + if (obj is not BusinessCard other) + { + return false; + } + + return FirstName == other.FirstName && LastName == other.LastName; + } /// /// Calculates the hash code for this object /// /// Numeric hash code - // TODO - public override int GetHashCode() => -1; + // Uses XOR to combine the bits of each hash code + public override int GetHashCode() => FirstName.GetHashCode() ^ LastName.GetHashCode(); } \ No newline at end of file