私はthis質問と同じ問題がありますが、私の言語はC#です(toHexStringメソッドはありません)。2つのIPアドレスを指定すると、すべての可能な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のバイト当たりをループされたので、私の問題は、私はこれら二つの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}");
}
}
そして、それはすべてのグループで繰り返されます。そして、それは繰り返します。私の解決策は恐ろしいです。より良い方法がありますか?私が持っている範囲は、私に巨大なリストを作る思い出がなくなるほど大きくはないので、それについて心配しないでください。
http://stackoverflow.com/questions/4172677/c-enumerate-ip-addresses-in-a-range/4172699 #4172699 –
私のためにそれを解決しました、ありがとう@viveknuna! – ohyeah