質問

192.168.0.0/16 のようなものを保存/検証するためにクラスをコーディングするのは簡単ですが、これのネイティブ型が.NETにすでに存在するかどうか興味がありましたか? IPAddress

のように機能すると思います。
CIDR subnet = CIDR.Parse("192.168.0.0/16");

基本的には、IPv4またはIPv6アドレスで作業していることを確認し、指定したビット数がそのタイプに対して有効であることを確認する必要があります。

役に立ちましたか?

解決

.NETにはそのようなネイティブ型はありません。自分で開発する必要があります。

他のヒント

CodePlexのコードを使用してそれを行うことができます:

http://ipnetwork.codeplex.com/

IPNetwork ipnetwork = IPNetwork.Parse("192.168.168.100/24");

Console.WriteLine("Network : {0}", ipnetwork.Network);
Console.WriteLine("Netmask : {0}", ipnetwork.Netmask);
Console.WriteLine("Broadcast : {0}", ipnetwork.Broadcast);
Console.WriteLine("FirstUsable : {0}", ipnetwork.FirstUsable);
Console.WriteLine("LastUsable : {0}", ipnetwork.LastUsable);
Console.WriteLine("Usable : {0}", ipnetwork.Usable);
Console.WriteLine("Cidr : {0}", ipnetwork.Cidr);

出力

Network : 192.168.168.0
Netmask : 255.255.255.0
Broadcast : 192.168.168.255
FirstUsable : 192.168.168.1
LastUsable : 192.168.168.254
Usable : 254
Cidr : 24
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top