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

C#如何在Razor Page中获取指定数值范围的枚举(Enum)值

实现方法

完全可以实现,你可以通过LINQ对枚举集合做筛选后再遍历,操作如下:

  1. 先确认Razor页面引入LINQ命名空间,没有的话在页面顶部加:
@using System.Linq
  1. 修改循环代码,将枚举值转为int后做区间判断,示例代码如下:
@foreach (MessageCategory category in Enum.GetValues(typeof(MessageCategory))
                                          .Cast<MessageCategory>()
                                          .Where(c => (int)c > 1000 && (int)c < 2000))
{
    <!-- 此处编写你的HTML业务代码 -->
    <div>枚举项名称:@category.ToString(),对应数值:@((int)category)</div>
}

代码说明

  • Enum.GetValues返回的是弱类型的枚举数组,通过Cast<MessageCategory>转为强类型的枚举集合方便后续操作
  • Where条件中将枚举项强转为int类型,和你指定的数值区间做比较,过滤出符合要求的项
    如果你的区间需要包含边界值(比如包含1000和2000),把判断条件调整为(int)c >= 1000 && (int)c <= 2000即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 01:06:04