【发布时间】:2016-10-28 10:29:07
【问题描述】:
我和this 问题有同样的问题,但是我的语言是 C#(所以没有 toHexString 方法)。所以,我的问题是我有这两个 IP:
String start = "192.168.0.2"
String end = "192.168.0.254"
我想最终得到一个列表,其中包含:
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
...
192.168.0.254
我的第一个解决方案是循环遍历每个字节的所有可能 IP。所以
var startIpArray = start.Split('.');
var endIpArray = end.Split('.');
if (startIpArray [3] != endIpArray[3])
{
for (var i = startIpArray [3]; i < endIpArray[3] ; i++)
{
listOfIps.Add($"{startIpArray[0]}.{startIpArray[1]}.{startIpArray[2]}.{i}");
}
}
然后对每个组重复此操作,每个数字的 for 循环越来越多。我的解决方案很糟糕。有没有更好的办法?我拥有的范围永远不会大到足以让我用完内存来制作巨大的列表,所以不要担心。
【问题讨论】:
-
帮我解决了,谢谢@viveknuna!
标签: c#