13
編寫一個類來存儲/驗證類似192.168.0.0/16
的代碼很簡單,但是我很好奇,如果一個本地類型已經存在於.NET中?我會想象它會工作很像IPAddress
:是否有CIDR子網的原生.NET類型?
CIDR subnet = CIDR.Parse("192.168.0.0/16");
基本上它只是需要確保你與IPv4或IPv6地址的工作,然後你指定的位數是有效的那個類型。
編寫一個類來存儲/驗證類似192.168.0.0/16
的代碼很簡單,但是我很好奇,如果一個本地類型已經存在於.NET中?我會想象它會工作很像IPAddress
:是否有CIDR子網的原生.NET類型?
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