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中文网其他相关文章!