C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.89842 の関連記事表示

<< 0 >>
■89842  ネットワークアドレス算出
□投稿者/ Ante -(2019/01/08(Tue) 10:15:53)
親記事 /過去ログ155より / 関連記事表示
削除チェック/

■89844  Re[1]: ネットワークアドレス算出
□投稿者/ WebSurfer -(2019/01/08(Tue) 11:24:55)
    No89842 (Ante さん) に返信

    c# ip subnet calculator などをキーワードにググるといろいろヒットしますが、
    それらの記事は参考になりませんか?
記事No.89842 のレス /過去ログ155より / 関連記事表示
削除チェック/

■89843  Re[1]: ネットワークアドレス算出
□投稿者/ Hongliang -(2019/01/08(Tue) 11:17:34)
    標準ライブラリには存在しなかった気がします。
    NuGetでNetwork Addressなどで検索するとそれらしきライブラリも見つかりますね。
記事No.89842 のレス /過去ログ155より / 関連記事表示
削除チェック/

■89847  Re[2]: ネットワークアドレス算出
□投稿者/ Ante -(2019/01/08(Tue) 12:24:16)
    お早い回答大変ありがとうございました。
    
    参考にさせていただきまして、下記のロジックを使います。
    
    using System.Net;
    
            /// <summary>
            /// ネットワークアドレス算出
            /// </summary>
            /// <param name="address">IPアドレス</param>
            /// <param name="subnetMask">サブネットマスク</param>
            /// <returns></returns>
            public static IPAddress GetNetworkAddress(this IPAddress address, IPAddress subnetMask) {
                byte[] ipAdressBytes = address.GetAddressBytes();
                byte[] subnetMaskBytes = subnetMask.GetAddressBytes();
    
                if (ipAdressBytes.Length != subnetMaskBytes.Length)
                    throw new ArgumentException("Lengths of IP address and subnet mask do not match.");
    
                byte[] broadcastAddress = new byte[ipAdressBytes.Length];
                for (int i = 0; i < broadcastAddress.Length; i++) {
                    broadcastAddress[i] = (byte)(ipAdressBytes[i] & (subnetMaskBytes[i]));
                }
                return new IPAddress(broadcastAddress);
            }
    
    
    // 使い方
                IPAddress mainIp = IPAddress.Parse("192.168.0.145");
                IPAddress subnetIp = IPAddress.Parse("255.255.252.0");
                IPAddress networkIp;
    
                networkIp = GetNetworkAddress(mainIp, subnetIp);
記事No.89842 のレス / END /過去ログ155より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -