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

わんくま同盟

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

C# と VB.NET の入門サイト

■89847 / 2階層)  ネットワークアドレス算出
□投稿者/ Ante (25回)-(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);

解決済み
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: ネットワークアドレス算出 /Hongliang 返信無し
 
上記関連ツリー

ネットワークアドレス算出 / Ante (19/01/08(Tue) 10:15) #89842
Re[1]: ネットワークアドレス算出 / WebSurfer (19/01/08(Tue) 11:24) #89844
Re[1]: ネットワークアドレス算出 / Hongliang (19/01/08(Tue) 11:17) #89843
  └ ネットワークアドレス算出 / Ante (19/01/08(Tue) 12:24) #89847 解決済み ←Now

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信