diff --git a/src/libraries/System.Net.Mail/src/System/Net/Mail/MailAddress.cs b/src/libraries/System.Net.Mail/src/System/Net/Mail/MailAddress.cs index d8a5d0c92fdbf4..9c076fa0106f6d 100644 --- a/src/libraries/System.Net.Mail/src/System/Net/Mail/MailAddress.cs +++ b/src/libraries/System.Net.Mail/src/System/Net/Mail/MailAddress.cs @@ -272,7 +272,7 @@ public override bool Equals(object? value) public override int GetHashCode() { - return ToString().GetHashCode(); + return ToString().GetHashCode(StringComparison.InvariantCultureIgnoreCase); } private static readonly EncodedStreamFactory s_encoderFactory = new EncodedStreamFactory(); diff --git a/src/libraries/System.Net.Mail/tests/Functional/MailAddressTest.cs b/src/libraries/System.Net.Mail/tests/Functional/MailAddressTest.cs index a695c4c62a3cf7..9abfcabd3cf628 100644 --- a/src/libraries/System.Net.Mail/tests/Functional/MailAddressTest.cs +++ b/src/libraries/System.Net.Mail/tests/Functional/MailAddressTest.cs @@ -194,6 +194,22 @@ public void EqualsTest2() Assert.Equal(n, n2); } + [Fact] + public void GetHashCodeTest() + { + var n = new MailAddress("Mr. Bar "); + var n2 = new MailAddress("a@example.com", "Mr. Bar"); + Assert.Equal(n.GetHashCode(), n2.GetHashCode()); + } + + [Fact] + public void GetHashCodeTest2() + { + var n = new MailAddress("Mr. Bar "); + var n2 = new MailAddress("MR. BAR "); + Assert.Equal(n.GetHashCode(), n2.GetHashCode()); + } + [Theory] [MemberData(nameof(GetInvalid_Address))] public void TryCreate_Invalid_Address(string address)