假设我有两个IP地址(在.NET中,System.Net.IPAddress
类)。如何迭代两个给定地址之间的所有IP地址?
例如,让一个地址为192.168.1.1,另一个地址为192.168.2.3。我想以某种方式迭代其间的所有地址并将它们打印到控制台。
谢谢。
答案 0 :(得分:0)
最后,我最终使用this answer中提供的方法。
它有点复杂,但在不使用弃用属性的情况下效果很好。它将IP地址转换为uint
s,递增它们,然后将它们转换回来。
答案 1 :(得分:-2)
IPv4地址基本上是Int64
,带有不同的表示法。所以你可以做到以下几点:
for (var i = fromAddress.Address; i <= toAddress.Address; i++)
{
Console.WriteLine(new IPAddress(i));
}
不推荐使用Address属性,但这可能不是您的担忧。