用 C# 稳健地获取计算机的 MAC 地址
由于操作系统和语言的不一致,在 C# 中可靠地获取机器的 MAC 地址可能会很棘手。 虽然 ipconfig /all
看起来像是一个解决方案,但它的输出格式因系统而异,使其不可靠。
可靠的方法
更强大的方法利用 C# 中的 NetworkInterface
类。这提供了一种一致的方式来检索 MAC 地址,无论操作系统或语言如何。 方法如下:
<code class="language-csharp">var macAddr = ( from nic in NetworkInterface.GetAllNetworkInterfaces() where nic.OperationalStatus == OperationalStatus.Up select nic.GetPhysicalAddress().ToString() ).FirstOrDefault();</code>
此代码检索所有网络接口,过滤活动接口,并选择它们的物理地址(MAC 地址)。 FirstOrDefault()
返回找到的第一个 MAC 地址。
替代实现(更明确)
稍微更详细的方法提供相同的结果:
<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中文网其他相关文章!