C# での IPv4 アドレスから整数への変換
質問:
C# で IPv4 アドレスを整数に効率的に変換するにはどうすればよいですか?さらに、逆変換を実行するメソッドを提供してください。
答え:
C# では、IPv4 アドレスは基本的に 32 ビットの符号なし整数として表されます。したがって、技術的には、明示的な変換は必要ありません。ただし、基になる整数値を取得するには、次の手順を使用できます:
たとえば、IPv4 アドレス「64.233.187.99」を整数に変換するには、次のコードを使用します:
<code class="language-csharp">long intValue = (long)(uint)IPAddress.NetworkToHostOrder( (int)IPAddress.Parse("64.233.187.99").Address);</code>
同様に、整数を IPv4 アドレスに変換するには、次の手順を使用できます。
たとえば、整数 1089059683 を IPv4 アドレスに変換するには、次のコードを使用します。
<code class="language-csharp">string addressString = IPAddress.Parse(1089059683.ToString()).ToString(); // 注意这里需要将整数转换为字符串再进行解析 ``` 或者更简洁的写法: ```csharp string addressString = new IPAddress(1089059683).ToString(); // 直接使用IPAddress构造函数</code>
コードの 2 番目の部分では、明示的に文字列に変換せずに、パラメータとして整数を使用して IPAddress オブジェクトが直接構築されていることに注意してください。 どちらの方法でも目標を達成できますが、2 番目の方法の方がより簡潔で効率的です。
以上がC# で IPv4 アドレスを整数に、またはその逆に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。