Künstliche Intelligenz

Neu in .NET 10.0 [29]: IP-Adressen prüfen mit IPAddress.IsValid()


Zur Prüfung von IP-Adressen gibt es in der Klasse System.Net.IPAddress schon seit .NET Framework 2.0 die statische Methode TryParse(), die eine IP-Adresse aus einer Zeichenkette extrahiert.

Weiterlesen nach der Anzeige




Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

Seit .NET Core 2.1 ist die Extraktion auch aus dem Typ ReadOnlySpan möglich. Der Rückgabewert ist ein bool-Wert und die extrahierte IP-Adresse wird in Form einer Instanz der Klasse IPAddress als out-Parameter geliefert. Wenn man nur prüfen will, ob die IP-Adresse stimmt, schreibt man IPAddress.TryParse(eingabe, out _).

In .NET 10.0 bietet Microsoft nun in der statischen Methode IsValid() eine weitere Prüfungsvariante mit weniger internem Aufwand. Folgender Code vergleicht IsValid() mit TryParse():


/// 
public void Run()
{
 CUI.Demo("IPAddress.IsValid()");

 string IP1 = "192.168.1.0"; // gültige IPv4-Adresse
 CUI.H2(IP1);

 // --- Alt
 var valid1 = IPAddress.TryParse(IP1, out _);
 Console.WriteLine("TryParse: " + valid1); // true

 // --- Neu
 System.Console.WriteLine("IsValid: " + System.Net.IPAddress.IsValid(IP1)); // true

 string IP2 = "192.168.256.1"; // ungültige IPv4-Adresse
 CUI.H2(IP2);

 // --- Alt
 var valid2 = IPAddress.TryParse(IP2, out _);
 Console.WriteLine("TryParse: " + valid2); // false

 // --- Neu
 System.Console.WriteLine("IsValid: " + System.Net.IPAddress.IsValid(IP2)); // false
}




Der Code nutzt die alte und die neue Methode, um IP-Adressen auf Gültigkeit zu prüfen (Abb. 1).

Dafür kehrt Microsoft nun einfach eine bisher interne Methode TargetHostNameHelper.IsValidAddress() nach außen, wie sich dem Issue auf GitHub entnehmen lässt.

Weiterlesen nach der Anzeige



IsValid() ist performanter als TryParse() und benötigt keinen Speicher (Abb. 2).

(Bild: Microsoft)




(Bild: King / stock.adobe.com)

Das ist neu in .NET 11.0: Dr. Holger Schwichtenberg und weitere Experten präsentieren am 17. November 2026 auf der Online-Konferenz betterCode() .NET 11.0 die Änderungen für Entwicklerinnen und Entwickler. Bis zur Veröffentlichung des Programms sind vergünstigte Blind-Bird-Tickets verfügbar.


(rme)



Source link

Beliebt

Die mobile Version verlassen