如何在Win10UWP项目中查找本地IP地址我目前正在尝试将管理控制台应用程序移植到Win10UWP应用程序。我在以下控制台代码中使用System.Net.Dns时遇到问题。如何获取设备IP这是我尝试移植的控制台应用程序代码。publicstaticstringGetIP4Address(){stringIP4Address=String.Empty;foreach(IPAddressIPAinDns.GetHostAddresses(Dns.GetHostName())){if(IPA.AddressFamily==AddressFamily.InterNetwork){IP4Address=IPA.ToString();休息;}}返回IP4地址;你可以试试这个:privatestringGetLocalIp(){varicp=NetworkInformation.GetInternetConnectionProfile();如果(icp?.NetworkAdapter==null)返回null;varhostname=NetworkInformation.GetHostNames().SingleOrDefault(hn=>hn.IPInformation?.NetworkAdapter!=null&&hn.IPInformation.NetworkAdapter.NetworkAdapterId==icp.NetworkAdapter.NetworkAdapterId);//ip地址returnhostname?.CanonicalName;}上面的答案也是正确的在UWP应用程序中使用它来获取主机IP地址,我测试了它:=HostNameType.Ipv4){textblock.Text=localHostName.ToString();休息;}}}并根据@JohnZ在此处查看API文档挂起的答案,但固定不抛出多个匹配的LINQ错误并返回Ipv4地址:如果(icp?.NetworkAdapter==null)返回null;varhostname=NetworkInformation.GetHostNames().FirstOrDefault(hn=>hn.Type==hostNameType&&hn.IPInformation?.NetworkAdapter!=null&&hn.IPInformation.NetworkAdapter.NetworkAdapterId==icp.NetworkAdapter.NetworkAdapterId);//ip地址returnhostname?.CanonicalName;显然你可以传递HostNameType.Ipv6而不是Ipv4,这是获取Ipv6地址的默认(隐式)参数值。在UWP项目中查找本地IP地址共享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右方联系管理。会员删除如转载请注明出处:
