C#:MAC地址阅读

时间:2016-03-21 04:59:57

标签: c# .net-framework-version

以下脚本在C#中读取MAC地址,并在.Net Framework 4中正常工作

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

    ).FirstOrDefault();

但问题是我需要为.Net Framework 3构建它

当我使用.Net Framework 3时,会发生以下错误

找不到源类型'System.Net.NetworkInformation.NetworkInterface []'的查询模式的实现。 '哪里'找不到。您是否缺少'System.Linq'的引用或using指令? (你错过了一个装配参考吗?)

解决方案是什么?提前致谢

2 个答案:

答案 0 :(得分:0)

.NET Framework 3.5中引入了功能System.Linq。 请参阅此链接https://msdn.microsoft.com/en-us/library/system.linq(v=vs.90).aspx

如果您使用的是.NET 3.5,请将更新添加到引用。

答案 1 :(得分:0)

由于您使用的是.net 3.0版,因此无法使用上述Linq查询。使用如下所示的简单foreach循环迭代列表并获取值。

foreach(var nic in NetworkInterface.GetAllNetworkInterfaces())
{
   if(nic.OperationalStatus == OperationalStatus.Up)
   {
    return nic.GetPhysicalAddress();
   }
}
return string.Empty();