Gebruikersgegevens in mailto:
URI's worden vergeleken
Uri Eerder werd geen gebruikersgegevens vergeleken bij het vergelijken van twee Uri
instanties voor gelijkheid. Dit gedrag is echter niet intuïtief in het geval van mailto:
URI's. Met deze wijziging Uri.Equals overweegt de ==
operator nu gebruikersgegevens bij het vergelijken van URI's.
Vorig gedrag
Vóór .NET 8 zijn beide van de volgende vergelijkingen geretourneerd true
.
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.
Nieuw gedrag
Vanaf .NET 8 retourneert true
de eerste vergelijking nog steeds, maar de tweede vergelijking (van mailto
URI's) retourneert 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.
Versie geïntroduceerd
.NET 8
Type wijziging die fouten veroorzaken
Deze wijziging is een gedragswijziging.
Reden voor wijziging
Het vorige gedrag was onverwacht en niet intuïtief.
Aanbevolen actie
Als u alleen het hostgedeelte van e-mailadressen wilt vergelijken, vergelijkt u alleen de Uri.Host leden.