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

如何使用LINQ按条件筛选List<Dictionary<string,object>>类型数据

你可以直接通过字典键取值后做类型转换再判断条件即可,完整代码如下:

var filteredResult = lstUTI.Where(item =>
    // 可选:先判断键是否存在,避免键不存在抛出异常
    item.ContainsKey("UTI_SURNAME") 
    && item.ContainsKey("PROFIL_ICODE")
    // 判断姓氏以A开头
    && (item["UTI_SURNAME"] as string)?.StartsWith("A") == true
    // 判断配置文件编码等于2
    && Convert.ToInt32(item["PROFIL_ICODE"]) == 2
).ToList();

上面的写法做了空值安全处理,就算UTI_SURNAME对应的值为null也不会触发空引用异常。如果你可以确认字典里一定存在对应键、且值类型和预期一致,也可以简化写法:

var filteredResult = lstUTI.Where(item =>
    ((string)item["UTI_SURNAME"]).StartsWith("A")
    && (int)item["PROFIL_ICODE"] == 2
).ToList();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:36:05