IP adreslerini kontrol etmek için bir sınıf var System.Net.IPAddress statik yöntem .NET Framework 2.0'dan beri mevcuttur TryParse()Bu, bir dizeden bir IP adresi çıkarır.
Duyurudan sonra devamını okuyun
Dr. Holger Schwichtenberg, 53 tanınmış uzmanıyla çok sayıda orta ve büyük ölçekli şirketi danışmanlık, eğitim ve yazılım geliştirme yoluyla destekleyen www.IT-Visions.de uzman ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası konferansa katılımı, 90'dan fazla uzmanlık kitabı ve 1.500'den fazla uzmanlık makalesi sayesinde Holger Schwichtenberg, .NET ve web teknolojileri konusunda Almanya'nın en tanınmış uzmanlarından biridir.
.NET Core 2.1'den itibaren çıkarma işlemi türe göre de yapılmaktadır. ReadOnlySpan<char> olası. Dönüş değeri bir booldeğer ve çıkarılan IP adresi sınıfın bir örneği biçimindedir IPAddress GİBİ out-Parametreler sağlandı. Sadece IP adresinin doğru olup olmadığını kontrol etmek istiyorsanız, yazın IPAddress.TryParse(eingabe, out _).
.NET 10.0'da Microsoft artık statik yöntemi sağlıyor IsValid() daha az dahili çaba gerektiren başka bir test çeşidi. Aşağıdaki kod karşılaştırır IsValid() ile TryParse():
/// <summary>
/// IsValid mit ReadOnlySpan<char> oder ReadOnlySpan<byte> als Alternative zu IPAddress.TryParse(span, out _)
/// </summary>
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
}

Kod, IP adreslerinin geçerliliğini kontrol etmek için eski ve yeni yöntemleri kullanır (Şekil 1).
Bunu yapmak için Microsoft artık daha önce dahili bir yöntem döndürüyor TargetHostNameHelper.IsValidAddress() GitHub'daki sayıdan da görülebileceği gibi dış dünyaya.
Duyurudan sonra devamını okuyun

IsValid(), TryParse()'dan daha performanslıdır ve bellek gerektirmez (Şekil 2).
(Resim: Microsoft)
(Resim: King/stock.adobe.com)
Bu, .NET 11.0'daki bir yeniliktir: Dr. Holger Schwichtenberg ve diğer uzmanlar, değişiklikleri 17 Kasım 2026'da BetterCode() .NET 11.0 çevrimiçi konferansında geliştiricilere sunacaklar. Program yayınlanana kadar indirimli kör kuş biletleri mevcut.
(Ben)

Bir yanıt yazın