C#中如何把一个字符串中的IPV4地址和IPV6地址分隔出来?

我通过WMI类ManagementObjectSearcher查询到的集合中获取到 ManagementObjectSearcher Query = new ManagementObjectSearcher( "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE"); ManagementObjectCollection QueryCollection = Query.Get(); foreach (ManagementObject Info in QueryCollection){string IpAddress="";  foreach (string ip in Info["IPAddress"] as string[])                {                    IpAddress += ip;                                                  }}然后我把这个变量IpAddress输出,结果是IpV4地址和IpV6地址混合的。例如:(蓝色部分)两个地址叠加在一起了。我想问的是有没办法区分开两个地址,上面的方法不能变,只能看怎么分隔地址了。我想应该有IPV6地址到IPV4地址的转换函数。还有就是把地址分开,这个是最重要的。求解答!!

IPAddress abc=IPAddress.Parse(ip);
if (abc.AddressFamily == AddressFamily.InterNetwork)
{
MessageBox.Show(abc.ToString() + "是IPV4地址");
}

这样就可以判断出这个IP是IPV4,还是IPV6了
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网