2012-10-13 40 views
-1

可能重複:
How to get my own IP address in C#?我應該通過什麼說法讓我的工作站的IP在C#

在控制檯應用程序,我需要通過我的機器的IP有啥說法做我需要通過?

var myIp = Convert.ToString(""); 

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

那麼,我應該發送什麼樣的論據,如我使用IPAddress,但沒有給我的IP?

+1

你問「我如何找到我的機器的IP?」 – weston

+0

對不起,你想要做什麼?你能用IPAddress顯示代碼嗎? – cirrus

+0

是的我的機器的IP只是從system.networkinfo我們有參數嗎? – Sohail

回答

0

這裏是如何讓你的機器的IP(IPv4)地址(你可能有不止一個):

var myAddresses = Dns.GetHostEntry(Dns.GetHostName()) 
        .AddressList 
        .Where(e => e.AddressFamily == AddressFamily.InterNetwork); 
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,除非你特別想。

相關問題