在控制台应用程序中,我需要传递我的机器的ip,以便我需要传递什么参数?
var myIp = Convert.ToString("");
if (search = value1.Contains(myIp))
{
foo..
foo..
}
那么我应该发送什么样的论点,比如我正在使用IPAddress
但是没有给我的ip?
答案 0 :(得分:0)
以下是如何获取机器的IP(IPv4)地址(您可能有多个地址):
var myAddresses = Dns.GetHostEntry(Dns.GetHostName())
.AddressList
.Where(e => e.AddressFamily == AddressFamily.InterNetwork);
答案 1 :(得分:0)
我不会使用Dns.GetHostEntry(),因为这是DNS网络调用,在某些情况下可能会失败。如果是我,我不会通过DNS系统查询我只是使用WMI来读取本地硬件上的数据。这是一篇文章;
http://kodefumaster.wordpress.com/2009/05/01/getting-the-network-adaptor-mac-ip-address-with-wmi/
请记住,每个网卡也可能有多个IP地址。
[更新]
...甚至更简单,System.Net.NetworkInformation,正如您在评论中已经注意到的那样。见这里;
How do I get the Local Network IP address of a computer programmatically? (C#)
但除非您特别想要,否则我不会使用DNS。