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:
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>
Ähnlich können Sie die folgenden Schritte ausführen, um eine Ganzzahl zurück in eine IPv4-Adresse umzuwandeln:
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>
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!