gpt4 book ai didi

c# - 通过 linq 在 iphone 中的 Monotouch/Xamarin 上获取 IP 地址

转载 作者:行者123 更新时间:2023-11-28 20:16:33 24 4
gpt4 key购买 nike

我是 linq 的新手,想用它来获取 iOS 设备的 IP 地址。我想知道是否有人发现这种方法有任何问题(基于此 How do I get the network interface and its right IPv4 address? ),或者是否有更好/更紧凑/更干净的方法来做到这一点。

  // get my IP
string ip = NetworkInterface.GetAllNetworkInterfaces()
.Where(x => x.Name.Equals("en0"))
.Select(n => n.GetIPProperties().UnicastAddresses)
.Where(x => x.First().Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
.Select(x => x.First().Address.ToString());

最佳答案

我认为您的代码的问题在于最后的SelectWhere 选择器已经返回一个 IEnumerable,这意味着此时您有一个 UnicastIPAddressInformationCollectionIEnumerable。然后在这一点上,只需选择第一个并指向地址属性并使用以下方法转换为字符串:.First().Address.ToString()

这是一个为我完成工作的例子:

public string IpEndPoint
{
get
{
return NetworkInterface.GetAllNetworkInterfaces()
.Where(ni => ni.Name.Equals("en0"))
.First().GetIPProperties().UnicastAddresses
.Where(add => add.Address.AddressFamily == AddressFamily.InterNetwork)
.First().Address.ToString();
}
}

关于c# - 通过 linq 在 iphone 中的 Monotouch/Xamarin 上获取 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17843925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com