c# - 在C#中获取机器MAC地址的可靠方法

标签 c# mac-address

我需要一种使用 C# 获取计算机 MAC 地址的方法,而不管它运行的是什么操作系统。

该应用程序需要在 XP/Vista/Win7 32 位和 64 位以及这些操作系统上运行,但默认为外语。此外,许多 C# 命令和操作系统查询并不适用于所有操作系统。

你有什么想法吗?

我一直在抓取 ipconfig/all 的输出,但这非常不可靠,因为每台机器的输出格式都不同。

最佳答案

更清洁的解决方案

var macAddr = 
    (
        from nic in NetworkInterface.GetAllNetworkInterfaces()
        where nic.OperationalStatus == OperationalStatus.Up
        select nic.GetPhysicalAddress().ToString()
    ).FirstOrDefault();

或者:

String firstMacAddress = NetworkInterface
    .GetAllNetworkInterfaces()
    .Where( nic => nic.OperationalStatus == OperationalStatus.Up && nic.NetworkInterfaceType != NetworkInterfaceType.Loopback )
    .Select( nic => nic.GetPhysicalAddress().ToString() )
    .FirstOrDefault();

关于c# - 在C#中获取机器MAC地址的可靠方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/850650/

相关文章:

c# - ASP.NET Core 2.0 - 提供没有扩展名的文件

c# - 在类声明中使用 new 关键字

iphone - 从 MAC 地址识别设备类型

mac地址上的Javascript正则表达式

java - 如何通过模式获取物理地址?

objective-c - 更改 MAC 地址 Cocoa - Objective-C

c# - 区别 Asp.net Forms 和 None Authentication

c# - Xamarin.forms 中可用的日语字体

c# - 使用 interop.word 在不更改 View 模式的情况下静默更新文档

c# - 从 C# 中的 IP 获取本地网络上机器的 MAC 地址