-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 - 那會如何工作? –