Heim > Backend-Entwicklung > C++ > Wie konvertiert man IPv4-Adressen in C# effizient in Ganzzahlen und umgekehrt?

Wie konvertiert man IPv4-Adressen in C# effizient in Ganzzahlen und umgekehrt?

Patricia Arquette
Freigeben: 2025-01-08 13:22:41
Original
661 Leute haben es durchsucht

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

Konvertierung der IPv4-Adresse in eine Ganzzahl in C#

Frage:

Wie konvertiert man eine IPv4-Adresse effizient in eine Ganzzahl in C#? Bitte geben Sie außerdem eine Methode zur Durchführung der Rücktransformation an.

Antwort:

In C# werden IPv4-Adressen im Wesentlichen als vorzeichenlose 32-Bit-Ganzzahlen dargestellt. Technisch gesehen ist also keine explizite Konvertierung erforderlich. Um den zugrunde liegenden ganzzahligen Wert zu erhalten, können Sie jedoch die folgenden Schritte ausführen:

  1. Rufen Sie die Address-Eigenschaft ab: Greifen Sie auf die Address-Eigenschaft des IPAddress-Objekts zu, das der IPv4-Adresse entspricht. Diese Eigenschaft gibt einen Int64-Wert zurück, eine 32-Bit-Ganzzahl ohne Vorzeichen, die die Adresse darstellt.
  2. Byte-Reihenfolge vertauschen (optional): Die Eigenschaft „Adresse“ gibt einen ganzzahligen Wert in der Netzwerk-Byte-Reihenfolge zurück, der möglicherweise nicht mit der nativen Byte-Reihenfolge der Computerarchitektur übereinstimmt. Bei Bedarf können Sie die Methode IPAddress.NetworkToHostOrder verwenden, um Bytes auszutauschen, um die Bytereihenfolge des Hosts zu erhalten.

Um beispielsweise die IPv4-Adresse „64.233.187.99“ in eine Ganzzahl umzuwandeln, würden Sie den folgenden Code verwenden:

<code class="language-csharp">long intValue = (long)(uint)IPAddress.NetworkToHostOrder(
                 (int)IPAddress.Parse("64.233.187.99").Address);</code>
Nach dem Login kopieren

Ähnlich können Sie die folgenden Schritte ausführen, um eine Ganzzahl zurück in eine IPv4-Adresse umzuwandeln:

  1. Erstellen Sie ein IPAddress-Objekt: Erstellen Sie ein IPAddress-Objekt mit dem IPAddress-Konstruktor und einem ganzzahligen Wert.
  2. Verwenden der ToString-Methode: Rufen Sie die ToString-Methode für das IPAddress-Objekt auf, um die Zeichenfolgendarstellung der IPv4-Adresse zu erhalten.

Um beispielsweise die Ganzzahl 1089059683 wieder in eine IPv4-Adresse umzuwandeln, würden Sie den folgenden Code verwenden:

<code class="language-csharp">string addressString = IPAddress.Parse(1089059683.ToString()).ToString(); // 注意这里需要将整数转换为字符串再进行解析
```  或者更简洁的写法:

```csharp
string addressString = new IPAddress(1089059683).ToString(); // 直接使用IPAddress构造函数</code>
Nach dem Login kopieren

Bitte beachten Sie, dass im zweiten Codeabschnitt das IPAddress-Objekt direkt unter Verwendung von Ganzzahlen als Parametern ohne explizite Konvertierung in Zeichenfolgen erstellt wird. Beide Methoden können das Ziel erreichen, und die zweite Methode ist präziser und effizienter.

Das obige ist der detaillierte Inhalt vonWie konvertiert man IPv4-Adressen in C# effizient in Ganzzahlen und umgekehrt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage