.NET 10.0'daki yenilikler [29]: IPAddress.IsValid() ile IP adreslerini kontrol edin

kapanış bildirimi

Bu makale İngilizce olarak da mevcuttur. Teknik yardımla tercüme edildi ve yayınlanmadan önce editoryal olarak gözden geçirildi.

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).

Kod, IP adreslerinin geçerliliğini kontrol etmek için eski ve yeni yöntemleri kullanır (Şekil 1).

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).

IsValid(), TryParse()'dan daha performanslıdır ve bellek gerektirmez (Şekil 2).

IsValid(), TryParse()'dan daha performanslıdır ve bellek gerektirmez (Şekil 2).

(Resim: Microsoft)

BetterCode() .NET 11.0

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)


Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir