从品牌网站建设到网络营销策划,从策略到执行的一站式服务
题目:要求计算连续的IP地址。
创新互联建站是一家专业提供易县企业网站建设,专注与成都做网站、成都网站建设、成都外贸网站建设、H5高端网站建设、小程序制作等业务。10年已为易县众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
举例:起始IP为192.168.2.2,IP总个数为3,那么要求得的所有IP的为192.168.2.2,192.168.2.3,192.168.2.4。再举个例子,起始IP为192.168.2.253,IP总个数为5那么要求得的所有IP为192.168.2.253,192.168.2.254,192.168.2.255,192.168.3.0,192.168.3.1。
按照传统的解法可以这么做:
static void Main(string[] args) { string ip = "192.168.2.253";//起始IP int count = 5;//要计算连续IP的个数 var ipValue = BitConverter.ToUInt32(IPAddress.Parse(ip).GetAddressBytes().Reverse().ToArray(), 0); for (uint i = 0; i < count; i++) { IPAddress newIp = IPAddress.Parse((ipValue + i).ToString()); Console.WriteLine(newIp); } }
那如果我们用linq稍微改造一下,可以这么干:
static void Main(string[] args) { string ip = "192.168.2.253";//起始IP int count = 5;//要计算连续IP的个数 var ipValue = BitConverter.ToUInt32(IPAddress.Parse(ip).GetAddressBytes().Reverse().ToArray(), 0); var newIps = from p in Enumerable.Range(0, count) let newIp = ipValue + p select new { IP = IPAddress.Parse(newIp.ToString()) }; foreach (var newIp in newIps) { Console.WriteLine(newIp.IP); } }
答案:
192.168.2.253
192.168.2.254
192.168.2.255
192.168.3.0
192.168.3.1
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图