Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les informations utilisateur dans les URI
Auparavant, Uri ne comparait pas les informations utilisateur lors de la comparaison de deux instances Uri pour l’égalité. Toutefois, ce comportement n’est pas intuitif dans le cas d’URI mailto:. Avec cette modification, Uri.Equals et l’opérateur == prennent désormais en compte les informations utilisateur lors de la comparaison des URI.
Comportement précédent
Avant .NET 8, les deux comparaisons suivantes étaient retournées 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.
Nouveau comportement
À compter de .NET 8, la première comparaison retourne toujours true, mais la deuxième comparaison (des URI mailto) retourne 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 introduite
.NET 8
Type de changement cassant
Ce changement est un changement de comportement.
Raison du changement
Le comportement précédent était inattendu et peu intuitif.
Action recommandée
Si vous souhaitez comparer uniquement la partie hôte des adresses de messagerie, comparez uniquement les membres Uri.Host.