Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Informacje o użytkowniku w
Uri Wcześniej nie porównaliśmy informacji o użytkowniku podczas porównywania dwóch Uri wystąpień pod kątem równości. Jednak to zachowanie nie jest intuicyjne w przypadku mailto: identyfikatorów URI. Dzięki tej zmianie Uri.Equals operator uwzględnia teraz informacje o użytkowniku == podczas porównywania identyfikatorów URI.
Poprzednie zachowanie
Przed platformą .NET 8 oba poniższe porównania zwróciły truewartość .
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.
Nowe zachowanie
Począwszy od platformy .NET 8, pierwsze porównanie nadal zwraca truewartość , ale drugie porównanie (identyfikatorów mailto URI) zwraca wartość 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.
Wprowadzona wersja
.NET 8
Typ zmiany powodującej niezgodność
Ta zmiana jest zmianą behawioralną.
Przyczyna wprowadzenia zmiany
Poprzednie zachowanie było nieoczekiwane i niezamierzone.
Zalecana akcja
Jeśli chcesz porównać tylko część adresów e-mail hosta, porównaj tylko Uri.Host członków.