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

.NET中基于指定字符串列表过滤移除DTO对象中数组元素的实现方法

你只需将原有单值匹配逻辑,替换为判断目标过滤字段是否存在任意元素属于移除名单即可,可借助LINQ的Any方法实现:

首先确保已经引入LINQ命名空间:

using System.Linq;

修改后的过滤代码如下:

// 移除filterOrder包含任意移除关键词的订单
lst.RemoveAll(x => x.filterOrder.Any(filterVal => removeList.Contains(filterVal)));
// 移除每个订单下filterDetails包含任意移除关键词的详情项
lst.ForEach(fe => fe.Details.RemoveAll(r => r.filterDetails.Any(detailFilter => removeList.Contains(detailFilter))));

如果有忽略大小写匹配的需求,可以调整Contains方法的参数实现:

// 示例:忽略大小写匹配
lst.RemoveAll(x => x.filterOrder.Any(f => removeList.Contains(f, StringComparer.OrdinalIgnoreCase)));
lst.ForEach(fe => fe.Details.RemoveAll(r => r.filterDetails.Any(f => removeList.Contains(f, StringComparer.OrdinalIgnoreCase))));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 16:54:03