Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Användarinformation i
Uri Tidigare jämfördes inte användarinformation när två Uri instanser jämfördes för likhet. Det här beteendet är dock inte intuitivt när det gäller mailto: URI:er. Med den här ändringen och Uri.Equals operatorn == nu överväga användarinformation när du jämför URI:er.
Tidigare beteende
Före .NET 8 returnerade truebåda följande jämförelser .
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.
Nytt beteende
Från och med .NET 8 returnerar trueden första jämförelsen fortfarande , men den andra jämförelsen (av mailto URI:er) returnerar 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 introducerad
.NET 8
Typ av icke-bakåtkompatibel ändring
Den här ändringen är en beteendeförändring.
Orsak till ändringen
Det tidigare beteendet var oväntat och ointuitivt.
Rekommenderad åtgärd
Om du bara vill jämföra värddelen av e-postadresser jämför du bara Uri.Host medlemmarna.