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

Razor页面@foreach多值匹配的正确语法咨询

修正Razor页面的多值过滤代码

修正后的完整代码

@foreach (var officerGroup in Model.Results
                                   .Where(i => new[] {"YO", "CRD", "PPI", "PSI"}.Contains(i.InvestType))
                                   .GroupBy(x => x.ProbOfficer))
{
    // 编写你的分组渲染逻辑
}

关键说明

  • C# 中没有类似 SQL 的 in 运算符,要实现多值匹配,可通过创建目标值集合 + 调用 Contains 方法实现:先定义包含指定InvestType值的数组,再用 Contains 判断当前项的InvestType是否属于这个集合。
  • 原代码存在括号不匹配问题,Where 方法的lambda表达式缺少闭合的 ),修正后已补全。
  • 如果需要复用这个目标集合,可在页面顶部提前定义,提升代码可读性:
@{
    // 提前定义目标InvestType集合,方便后续修改
    var targetInvestTypes = new[] {"YO", "CRD", "PPI", "PSI"};
}

之后循环部分可简化为:

@foreach (var officerGroup in Model.Results
                                   .Where(i => targetInvestTypes.Contains(i.InvestType))
                                   .GroupBy(x => x.ProbOfficer))
{
    // 编写你的分组渲染逻辑
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:23:10