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

C#技术问询:如何检查列表项是否在键值中并通过LINQ过滤数据

解决方法

核心思路

不用硬编码指定要排除的城市,直接利用数组的Contains方法判断当前值是否在排除列表中,通过!取反来保留不在列表里的项。

优化后的LINQ代码

string[] excludedCities = {"Hyd", "Bangalore", "Mumbai", "Kolkata"};
var data = fields
    .FirstOrDefault(x => x.Name == "City" && !excludedCities.Contains(x.Value))
    ?.Value.Replace("A !", "");

代码说明

  • !excludedCities.Contains(x.Value):核心判断逻辑,检查当前City项的Value是否不在排除城市列表中,满足条件才会被选中
  • FirstOrDefault:从fields中找到第一个符合条件的City项,找不到则返回null
  • ?.Value.Replace("A !", ""):安全访问找到的项的Value,并替换指定字符串;如果找不到符合条件的项,这部分会直接返回null

结果验证

  • 当x.Value为Bangalore时:因为它在excludedCities数组里,!excludedCities.Contains(...)结果为false,FirstOrDefault返回null,最终data为null(即被丢弃)
  • 当x.Value为delhi时:不在排除列表中,条件成立,data会得到替换后的delhi值(如果原Value里没有"A !",就是原字符串)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 12:52:53