You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#获取活动网络适配器异常:识别不存在的本地连接而非Wi-Fi

活动网卡检测问题修复

你的代码逻辑出错的核心原因是逻辑运算符优先级问题:&&的优先级高于||,导致原本的条件被拆解成了两部分:

  1. 满足非回环、非隧道、状态Up且名称以Ethernet开头
  2. 或者名称以Wi-Fi开头
  3. 或者名称以Local开头

这就导致只要网卡名称以"Local"开头,哪怕它是禁用状态、甚至是不存在的虚拟网卡,都会被First()选中。

修正代码如下,把名称匹配的条件用括号包裹,确保和前面的三个条件同时生效:

var activeAdapter = networks.First(x => 
    x.NetworkInterfaceType != NetworkInterfaceType.Loopback
    && x.NetworkInterfaceType != NetworkInterfaceType.Tunnel
    && x.OperationalStatus == OperationalStatus.Up
    && (x.Name.StartsWith("Ethernet") || x.Name.StartsWith("Wi-Fi") || x.Name.StartsWith("Local"))
);
label2.Text = activeAdapter.Name;

修正后的逻辑会先筛选出非回环、非隧道、状态为Up的有效网卡,再在这些网卡里匹配名称前缀,这样就能正确拿到处于活动状态的Wi-Fi网卡了。

内容的提问来源于stack exchange,提问作者AmooReza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:36:10