Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As informações do usuário nos
Anteriormente, Uri não comparava as informações do usuário ao comparar duas Uri instâncias para igualdade. No entanto, esse comportamento não é intuitivo no caso de mailto: URIs. Com essa alteração, Uri.Equals o == operador agora considera as informações do usuário ao comparar URIs.
Comportamento anterior
Antes do .NET 8, ambas as comparações a seguir retornavam 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.
Novo comportamento
A partir do .NET 8, a primeira comparação ainda retorna true, mas a segunda comparação (de mailto URIs) retorna 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.
Versão introduzida
.NET 8
Tipo de alteração interruptiva
Esta é uma alteração comportamental.
Motivo da alteração
O comportamento anterior era inesperado e pouco intuitivo.
Ação recomendada
Se você quiser comparar apenas a parte do host dos endereços de email, compare apenas os Uri.Host membros.