-1

可能重复:
如何在 C# 中获取我自己的 IP 地址?

在控制台应用程序中,我需要传递我机器的 ip,那么我需要传递什么参数?

var myIp = Convert.ToString("");

if (search = value1.Contains(myIp))
{
    foo..
    foo..
}

那么我应该发送什么参数,就像我正在使用IPAddress但没有给出我的 ip 一样?

4

2 回答 2

0

以下是获取计算机 IP (IPv4) 地址的方法(您可能有多个):

var myAddresses = Dns.GetHostEntry(Dns.GetHostName())
                     .AddressList
                     .Where(e => e.AddressFamily == AddressFamily.InterNetwork);
于 2012-10-13T15:57:54.160 回答
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 正如您已经在评论中指出的那样。看这里;

如何以编程方式获取计算机的本地网络 IP 地址?(C#)

但除非您特别愿意,否则我不会使用 DNS。

于 2012-10-13T17:37:58.487 回答