Conversion de l'adresse IPv4 en entier en C#
Question :
Comment convertir efficacement une adresse IPv4 en entier en C# ? De plus, veuillez fournir une méthode pour effectuer la transformation inverse.
Réponse :
En C#, les adresses IPv4 sont essentiellement représentées sous forme d'entiers non signés de 32 bits. Donc, techniquement, aucune conversion explicite n’est requise. Cependant, pour obtenir la valeur entière sous-jacente, vous pouvez suivre les étapes suivantes :
Par exemple, pour convertir l'adresse IPv4 « 64.233.187.99 » en un entier, vous utiliserez le code suivant :
<code class="language-csharp">long intValue = (long)(uint)IPAddress.NetworkToHostOrder( (int)IPAddress.Parse("64.233.187.99").Address);</code>
De même, pour reconvertir un entier en adresse IPv4, vous pouvez suivre les étapes suivantes :
Par exemple, pour reconvertir l'entier 1089059683 en adresse IPv4, vous utiliserez le code suivant :
<code class="language-csharp">string addressString = IPAddress.Parse(1089059683.ToString()).ToString(); // 注意这里需要将整数转换为字符串再进行解析 ``` 或者更简洁的写法: ```csharp string addressString = new IPAddress(1089059683).ToString(); // 直接使用IPAddress构造函数</code>
Veuillez noter que dans le deuxième morceau de code, l'objet IPAddress est construit directement en utilisant des entiers comme paramètres sans conversion explicite en chaînes. Les deux méthodes peuvent atteindre l'objectif, et la seconde méthode est plus concise et efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!