Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Benutzerinformationen in URIs vom Typ
Zuvor hat Uri keine Benutzerinformationen verglichen, wenn zwei Uri-Instanzen auf Gleichheit überprüft wurden. Dieses Verhalten ist jedoch im Falle von mailto:-URIs nicht intuitiv. Mit dieser Änderung berücksichtigen Uri.Equals und der Operator == nun Benutzerinformationen beim Vergleich von URIs.
Vorheriges Verhalten
Vor .NET 8 haben beide der folgenden Vergleiche true zurückgegeben.
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.
Neues Verhalten
Ab .NET 8 gibt der erste Vergleich immer noch true zurück, aber der zweite Vergleich (von mailto-URIs) gibt false zurück.
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.
Eingeführt in Version
.NET 8
Typ des Breaking Changes
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
Das vorherige Verhalten war unerwartet und nicht intuitiv.
Empfohlene Maßnahme
Wenn Sie nur den Hostteil von E-Mail-Adressen vergleichen möchten, vergleichen Sie nur die Uri.Host-Member.