Delen via


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 truede 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.

Als u alleen het hostgedeelte van e-mailadressen wilt vergelijken, vergelijkt u alleen de Uri.Host leden.

Betrokken API's