首页 >后端开发 >C++ >如何用C#跨平台可靠地获取机器的MAC地址?

如何用C#跨平台可靠地获取机器的MAC地址?

Susan Sarandon
Susan Sarandon原创
2025-01-17 01:21:10613浏览

How Can I Reliably Obtain a Machine's MAC Address in C# Across Different Platforms?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn