Informace o uživatelích v mailto: identifikátorech URI se porovnávaly.

Uri Dříve se při porovnávání dvou Uri instancí rovnosti neporovnával informace o uživatelích. Toto chování ale není intuitivní v případě mailto: identifikátorů URI. Při této změně Uri.Equals a == operátor teď při porovnávání identifikátorů URI zvažují informace o uživatelích.

Předchozí chování

Před rozhraním .NET 8 se vrátily trueobě následující porovnání .

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.

Nové chování

Počínaje rozhraním .NET 8 se první porovnání stále vrací true, ale druhé porovnání ( mailto identifikátorů URI) vrátí 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.

Zavedená verze

.NET 8

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Předchozí chování bylo neočekávané a neintuitivní.

Pokud chcete porovnat jenom část e-mailových adres hostitele, porovnejte pouze Uri.Host členy.

Ovlivněná rozhraní API