-7
文字列配列にIP範囲(例:46.28.66.16-46.28.71.255)を変換する必要があります。C#IP範囲を文字列配列に変換するにはどうすればよいですか?
文字列配列にIP範囲(例:46.28.66.16-46.28.71.255)を変換する必要があります。C#IP範囲を文字列配列に変換するにはどうすればよいですか?
質問のためのコードスニペットが添付されています。もしあなたが何か質問があれば教えてください。
string iprange = "46.28.66.16-46.28.71.255";
var ipV2 = iprange.Split('-')[0];
ipV2 = ipV2.Substring(0, ipV2.Length - 5);
//WriteLine(ipV2);
var range = iprange.Split('-').Select(x => x.Split('.')[2]).ToArray();
var ips = Enumerable.Range(Int32.Parse(range[0]), (Int32.Parse(range[1]) - Int32.Parse(range[0])) + 1).ToList();
List<string> fullips = new List<string>();
foreach (var ip in ips)
{
List<int> ipranges = new List<int>();
if (iprange.Split('-')[0].Contains(ip.ToString()))
{
var ipV4 = iprange.Split('-').Select(x => x.Split('.')[3]).ToArray();
ipranges = Enumerable.Range(Int32.Parse(range[0]), 256 -Int32.Parse(range[0])).ToList();
}
else
{
ipranges = Enumerable.Range(0, 256).ToList();
}
foreach(var _ip in ipranges)
{
fullips.Add(string.Concat(ipV2, ip, ".", _ip));
}
}
}
あなたの側からの努力はありますか? –
[C#:範囲内のIPアドレスを列挙する](http://stackoverflow.com/questions/4172677/c-enumerate-ip-addresses-in-a-range)の可能な複製を試してみてください。 ) –
@RahulHendawe - これまでどんなことができましたか? –