Användarinformation i mailto:
URI:er jämförs
Uri Tidigare jämfördes inte användarinformation när två Uri
instanser jämfördes för likhet. Det här beteendet är dock inte intuitivt när det gäller mailto:
URI:er. Med den här ändringen och Uri.Equals operatorn ==
nu överväga användarinformation när du jämför URI:er.
Tidigare beteende
Före .NET 8 returnerade true
båda följande jämförelser .
Uri uri1 = new Uri("https://user1@www.microsoft.com");
Uri uri2 = new Uri("https://user2@www.microsoft.com");
System.Console.WriteLine(uri1 == uri2); // True.
Uri uri3 = new Uri("mailto:user1@microsoft.com");
Uri uri4 = new Uri("mailto:user2@microsoft.com");
System.Console.WriteLine(uri3 == uri4); // True.
Nytt beteende
Från och med .NET 8 returnerar true
den första jämförelsen fortfarande , men den andra jämförelsen (av mailto
URI:er) returnerar false
.
Uri uri1 = new Uri("https://user1@www.microsoft.com");
Uri uri2 = new Uri("https://user2@www.microsoft.com");
System.Console.WriteLine(uri1 == uri2); // True.
Uri uri3 = new Uri("mailto:user1@microsoft.com");
Uri uri4 = new Uri("mailto:user2@microsoft.com");
System.Console.WriteLine(uri3 == uri4); // False.
Version introducerad
.NET 8
Typ av icke-bakåtkompatibel ändring
Den här ändringen är en beteendeförändring.
Orsak till ändringen
Det tidigare beteendet var oväntat och ointuitivt.
Rekommenderad åtgärd
Om du bara vill jämföra värddelen av e-postadresser jämför du bara Uri.Host medlemmarna.