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)