首页 > 解决方案 > 在 csharp 中获取特定范围的枚举值

问题描述

我正在尝试在剃刀页面中获取一系列枚举值。这是枚举:

 public enum MessageCategory
{       
    UserConfirmationCode=1000,       
    UserConfirmOrder=1001,      
    UserDiscount=1002,      
    AdminProductQuantity=2000,      
    AdminConfirmOrder=2001
}

我想获得那些在 foreach 循环中值在 1000 到 2000 之间的枚举项。这就是我所做的:

 @foreach (Enum contact in Enum.GetValues(typeof(ContactType)))
        { 
          //html codes
        }

我希望 foreach 中的迭代枚举有条件获得 >1000 和 <2000 的值。可能吗?先感谢您

标签: c#asp.net-core

解决方案


在您提出的问题中,MessageCategory但在您谈论的 foreach 中,ContactType我假设这是一个错字。
但我会做这样的事情:

foreach (var contact in Enum.GetValues(typeof(MessageCategory)).OfType<MessageCategory>().Where(m =>(int)m < 2000 && (int)m >1000))
{
      Console.WriteLine(contact);
}

推荐阅读