C# 中檢索 MAC 位址的跨平台解決方案
由於命令列輸出和語言設定存在差異,在不同作業系統上一致地取得機器的 MAC 位址是很棘手的。 本文提出了一種可靠的、獨立於平台的方法。
可靠的方法:使用 NetworkInterface
最可靠的方法使用 NetworkInterface
類別。無論系統語言如何,這在 Windows XP、Vista、7 及更高版本、32 位元和 64 位元環境中都一致運作。
程式碼範例
這裡有兩種實作方法:
方法一:
<code class="language-csharp">var macAddr = ( from nic in NetworkInterface.GetAllNetworkInterfaces() where nic.OperationalStatus == OperationalStatus.Up select nic.GetPhysicalAddress().ToString() ).FirstOrDefault();</code>
方法2(更簡潔):
<code class="language-csharp">string firstMacAddress = NetworkInterface .GetAllNetworkInterfaces() .Where(nic => nic.OperationalStatus == OperationalStatus.Up && nic.NetworkInterfaceType != NetworkInterfaceType.Loopback) .Select(nic => nic.GetPhysicalAddress().ToString()) .FirstOrDefault();</code>
這兩種方法都可以有效地檢索 MAC 位址,使其可輕鬆用於各種應用程式。 第二種方法新增了一個檢查以排除環回介面。
以上是如何用C#跨平台可靠地取得機器的MAC位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!