Maison > développement back-end > C++ > Comment convertir efficacement les adresses IPv4 en entiers et vice versa en C# ?

Comment convertir efficacement les adresses IPv4 en entiers et vice versa en C# ?

Patricia Arquette
Libérer: 2025-01-08 13:22:41
original
658 Les gens l'ont consulté

How to Efficiently Convert IPv4 Addresses to Integers and Vice Versa in C#?

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 :

  1. Récupérer la propriété Address : Accédez à la propriété Address de l'objet IPAddress correspondant à l'adresse IPv4. Cette propriété renvoie une valeur Int64, un entier non signé de 32 bits représentant l'adresse.
  2. Échange de l'ordre des octets (facultatif) : La propriété Address renvoie une valeur entière dans l'ordre des octets du réseau, qui peut ne pas correspondre à l'ordre natif des octets de l'architecture informatique. Si nécessaire, vous pouvez utiliser la méthode IPAddress.NetworkToHostOrder pour échanger des octets afin d'obtenir l'ordre des octets de l'hôte.

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>
Copier après la connexion

De même, pour reconvertir un entier en adresse IPv4, vous pouvez suivre les étapes suivantes :

  1. Créez un objet IPAddress : Créez un objet IPAddress à l'aide du constructeur IPAddress et d'une valeur entière.
  2. Utilisation de la méthode ToString : Appelez la méthode ToString sur l'objet IPAddress pour obtenir la représentation sous forme de chaîne de l'adresse IPv4.

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal