-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 - 그게 어떻게 작동할까요? –