跨平台 C# MAC 位址取得:一種穩健的方法
檢索電腦的 MAC 位址對於許多網路相關應用程式至關重要。 然而,在不同的作業系統和語言設定中獲得一致的結果是一個巨大的挑戰。本文提供了一個可靠且高效的 C# 解決方案。
卓越的解決方案
這種改進的方法提高了清晰度和可靠性:
<code class="language-csharp">string macAddress = ( from nic in NetworkInterface.GetAllNetworkInterfaces() where nic.OperationalStatus == OperationalStatus.Up select nic.GetPhysicalAddress().ToString() ).FirstOrDefault();</code>
此程式碼使用NetworkInterface.GetAllNetworkInterfaces()
來取得所有網路介面。它過濾活動接口,不包括環回適配器。然後提取第一個合適介面的 MAC 位址並將其分配給 macAddress
.
替代方法
為了獲得更大的靈活性,請考慮以下替代方案:
<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>
此方法採用與先前的解決方案相同的過濾,但提供了更具適應性的選擇標準。 例如,您可以根據連線速度或特定連線類型(例如乙太網路)對介面進行優先排序。
部署說明
這些解決方案與 Windows XP、Vista、Windows 7 及更高版本相容,無論系統語言如何。 但是,正確操作可能需要管理權限。 建議使用管理員權限運行應用程式以獲得最佳功能。
以上是如何在不同作業系統上使用 C# 可靠地取得機器的 MAC 位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!