Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 迭代IP地址_C#_.net - Fatal编程技术网

C# 迭代IP地址

C# 迭代IP地址,c#,.net,C#,.net,假设我有两个IP地址(在.NET中,System.NET.IPAddress类)。如何迭代两个给定地址之间的所有IP地址 例如,一个地址为192.168.1.1,另一个地址为192.168.2.3。我想以某种方式迭代中间的所有地址,并将它们打印到控制台 谢谢。IPv4地址基本上是带有不同符号的Int64。因此,您可以执行以下操作: for (var i = fromAddress.Address; i <= toAddress.Address; i++) { Console.Wri

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

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


谢谢。

IPv4地址基本上是带有不同符号的
Int64
。因此,您可以执行以下操作:

for (var i = fromAddress.Address; i <= toAddress.Address; i++)
{
    Console.WriteLine(new IPAddress(i));
}

for(var i=fromAddress.Address;i最后我使用了中提供的方法


它稍微复杂一点,但在不使用不推荐的属性的情况下工作得很好。它将IP地址转换为
uint
s,增加它们,然后再转换回来。

您需要子网来知道两个IPS之间的有效地址。我想不出多少“好”字扫描网络以查找有效IP地址的原因,但我可以想出很多恶意的原因。@Randolpho-示例指定了内部网络地址,因此可能有“好”的原因。@Randolpho我正在构建一个应用程序,使用WMI向多台计算机发送远程命令。我需要一个域管理员帐户名和密码来对计算机执行任何操作。IP(甚至端口)是什么时候创建的扫描会成为犯罪吗?这不起作用。假设我想从192.168.1.1增加到192.168.1.3。
fromAddress。Address
是16885952,
toAddress。Address
是50440384。如果我运行for循环,它会输出192.168.1.1;193.168.1.1;194.168.1.1…并且它会一直持续下去。这只是造成了一个无限循环,布林暂停系统。是的,这不起作用,因为Windows是小端,网络地址是大端。