
Penukaran alamat IPv4 kepada integer dalam C#
Soalan:
Bagaimana untuk menukar alamat IPv4 dengan cekap kepada integer dalam C#? Selain itu, sila berikan kaedah untuk melakukan transformasi terbalik.
Jawapan:
Dalam C#, alamat IPv4 pada dasarnya diwakili sebagai integer tidak bertanda 32-bit. Jadi, secara teknikalnya, tiada penukaran eksplisit diperlukan. Walau bagaimanapun, untuk mendapatkan nilai integer asas anda boleh menggunakan langkah berikut:
Sebagai contoh, untuk menukar alamat IPv4 "64.233.187.99" kepada integer, anda akan menggunakan kod berikut:
<code class="language-csharp">long intValue = (long)(uint)IPAddress.NetworkToHostOrder(
(int)IPAddress.Parse("64.233.187.99").Address);</code>Begitu juga, untuk menukar integer kembali kepada alamat IPv4, anda boleh menggunakan langkah berikut:
Sebagai contoh, untuk menukar integer 1089059683 kembali kepada alamat IPv4, anda akan menggunakan kod berikut:
<code class="language-csharp">string addressString = IPAddress.Parse(1089059683.ToString()).ToString(); // 注意这里需要将整数转换为字符串再进行解析 ``` 或者更简洁的写法: ```csharp string addressString = new IPAddress(1089059683).ToString(); // 直接使用IPAddress构造函数</code>
Sila ambil perhatian bahawa dalam sekeping kod kedua, objek IPAddress dibina terus menggunakan integer sebagai parameter tanpa penukaran eksplisit kepada rentetan. Kedua-dua kaedah boleh mencapai matlamat, dan kaedah kedua adalah lebih ringkas dan cekap.
Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Alamat IPv4 kepada Integer dan Sebaliknya dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Bagaimana untuk menetapkan ketelusan warna fon html
Apakah sistem pengendalian awan?
Bagaimana untuk membaca fail teks dalam html
Bagaimana untuk menggunakan perpustakaan python
Pemasang tidak boleh mencipta penyelesaian partition sistem baharu
Apakah yang perlu saya lakukan jika pemacu C saya bertukar merah?
Apakah sebab mengapa rangkaian tidak dapat disambungkan?
pycharm membuka kaedah fail baharu