Maison >développement back-end >C++ >Comment puis-je convertir des adresses IPv4 vers et depuis des entiers en C# ?

Comment puis-je convertir des adresses IPv4 vers et depuis des entiers en C# ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-08 13:26:41366parcourir

How Can I Convert IPv4 Addresses to and from Integers in C#?

Conversion entre adresse IPv4 et entier en C#

C# fournit des fonctions intégrées efficaces pour la conversion entre les adresses IPv4 standard et les nombres entiers. Un entier non signé de 32 bits peut représenter une adresse IPv4.

Pour convertir une adresse IPv4 en nombre entier, vous pouvez utiliser la méthode ToInt fournie dans l'exemple de code suivant :

<code class="language-csharp">public static long ToInt(string addr)
{
    // 确保正确处理符号扩展
    return (long)(uint)IPAddress.NetworkToHostOrder(
        (int)IPAddress.Parse(addr).Address);
}</code>

La conversion inverse, c'est-à-dire la reconversion de l'entier en adresse IPv4, peut utiliser la méthode ToAddr :

<code class="language-csharp">public static string ToAddr(long address)
{
    return IPAddress.Parse(address.ToString()).ToString();
}</code>

Ces méthodes démontrent le processus de conversion, y compris la gestion de l'échange d'octets réseau/hôte. La fonction NetworkToHostOrder est essentielle pour assurer une conversion précise entre l'ordre des octets du réseau (utilisé lors de la transmission sur le réseau) et l'ordre des octets de l'hôte (utilisé sur la machine).

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!

Déclaration:
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