Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se compara la información de usuario en los URI
Antes, Uri no comparaba la información del usuario cuando se comparaba la igualdad de dos instancias de Uri. Sin embargo, este comportamiento no es intuitivo en el caso de los URI mailto:. Con este cambio, Uri.Equals y el operador == ahora tienen en cuenta la información del usuario al comparar los URI.
Comportamiento anterior
Antes de .NET 8, las comparaciones siguientes devolvían 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.
Comportamiento nuevo
A partir de .NET 8, la primera comparación sigue devolviendo true, pero la segunda comparación (de URI mailto) devuelve 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.
Versión introducida
.NET 8
Tipo de cambio importante
Este es un cambio de funcionamiento.
Motivo del cambio
El comportamiento anterior era inesperado y poco intuitivo.
Acción recomendada
Si desea comparar solo la parte host de las direcciones de correo electrónico, compare solo los miembros Uri.Host.