我通过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了
if (abc.AddressFamily == AddressFamily.InterNetwork)
{
MessageBox.Show(abc.ToString() + "是IPV4地址");
}
这样就可以判断出这个IP是IPV4,还是IPV6了
温馨提示:答案为网友推荐,仅供参考