迭代IP地址

时间:2010-03-21 19:54:46

标签: c# .net

假设我有两个IP地址(在.NET中,System.Net.IPAddress类)。如何迭代两个给定地址之间的所有IP地址?

例如,让一个地址为192.168.1.1,另一个地址为192.168.2.3。我想以某种方式迭代其间的所有地址并将它们打印到控制台。

谢谢。

2 个答案:

答案 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属性,但这可能不是您的担忧。