-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 - Как это когда-нибудь будет работать? –