跳到主要內容

C#中如何列出本機IPv4的位址

在撰寫C#程式中,我們通常可以透過如以下方法來取得本機的所有IP位址。

using System.Net; //加入
using System.Net.Sockets; //加入
/*------ 要先using上面兩個Class ------*/

/*------ Method Start ------*/
private static IPAddress[] getIPList()
{
    return System.Net.Dns.GetHostEntry(string.Empty).AddressList;
}
/*------ Method End ------*/


但目前IPv4仍然是主流,IPv6僅是作業系統提供的功能,並未實際被使用,因此上述Method所取得的IP Address,還是不符合使用,如何將取得的IP Address僅列出IPv4的部分就需要加點工了,幸好.Net Framework中已經幫你解決了這個問題,我們僅需要透過Array.FindAll這個Method來查找IPAddress[] 中的AddressFamily符合AddressFamily.InterNetwork,只要符合的IP Address就是IPv4的位址。

using System.Net; //加入
using System.Net.Sockets; //加入
/*------ 要先using上面兩個Class ------*/

/*------ Method Start ------*/
private static IPAddress[] getIPv4List()
{
    IPAddress[] ipv4Addresses;
    ipv4Addresses = Array.FindAll(Dns.GetHostEntry(string.Empty).AddressList,
        a => a.AddressFamily == AddressFamily.InterNetwork);
    return ipv4Addresses;
}
/*------ Method End ------*/

留言

這個網誌中的熱門文章

以管理者權限執行批次檔

最近有個專案需要執行批次檔,來進行某些設定或者城市的安裝,在XP上這個Script可以運行沒問題,可是一到Vista以後的Windows版本就無法運行了,最主要的原因是,UAC的管制的問題,幾經尋找,總算找到一個可行的解決辦法。

如何使用電子發票應用API

財政部在電子發票推行上,為了方便開發更多應用所以提供了API可供個人或者廠商進行相關應用的開發,申請的方式請參考 –> 電子發票API申請 最簡單的申請方式就是透過自然人憑證或者工商憑證申請,這樣就不需要檢附任何證明文件。不過這不是本篇的重點,當申請到時會給你一組AppID跟APIKey,然後你可以下載 電子發票應用規格1.4版 來了解怎樣使用這個API,或許是我才疏學淺,所以在1.3版的時候其實搞不太懂他的API文件,到了1.4版才摸清楚發生了什麼事,當然還是花了點時間才搞懂,現在就簡單說明一下API的使用方式,希望看到本篇文章的同好就不需要花時間測試了。

DataGridView欄位統一格式化

最近的工作內有一個需求,就是由於專案中有許多呈現資料的DataGridView,而其中的欄位需要呈現的包含金額、數字或者日期等格式,若要一個個的設定格式,如果有一天格式突然變更,可能就要苦工做到死,如何讓專案中的這些格式都統一就成了一個問題,經過了一番查找,發現可以透過DataGridView.CellFormatting Event來解決這個問題。