想知道是否有人可以在这里帮助我。我对c#的了解不多,但对于我想做的事情来说很容易。
我正在制作一个小型应用程序,它将使用网络上的主机名,然后返回完整的ipaddress(ipv4)...。从那里,我可以选择ping / vnc / telnet ... etc。
我的问题在这里...我正在使用GetHostEntry
返回IP地址。然后,我想将IP存储到变量中,并更改最后一个八位位组。我想一个简单的sting.split('.')
是答案,但是我不能将IP转换为字符串,因为源不是字符串。有任何想法吗?
这是我获取IP地址的方法,它只是基本的GetHostEntry
方法:
IPHostEntry host = Dns.GetHostEntry( hostname );
Console.WriteLine( "GetHostEntry({0}) returns: {1}", hostname, host );
// This will loop though the IPAddress system array and echo out
// the results to the console window
foreach ( IPAddress ip in host.AddressList )
{
Console.WriteLine( " {0}", ip );
}
最佳答案
这是一种相当脆弱的方法,它依赖于计算机的字节顺序,并且显然取决于所提供地址的族。
byte[] ipBytes = ip.GetAddressBytes();
while (ipBytes[0]++ < byte.MaxValue)
{
var newIp = new IPAddress(ipBytes);
Console.WriteLine(" {0}", ip);
}