我有一组枚举
public enum SyncRequestTypeEnum
{
ProjectLevel=1,
DiffSync=2,
FullSync=3
}
我想在下拉列表中显示这些枚举,除了ProjectLevel。我可以用linq得到这些细节吗?有人能帮帮忙吗?
可以这样写:
var result = Enum
.GetValues(typeof(SyncRequestTypeEnum))
.Cast<SyncRequestTypeEnum>()
.Where(w =>w!=SyncRequestTypeEnum.ProjectLevel)
.ToList();
我也遇到过类似的情况,我需要枚举的名称而不是它们的值。
你可以这样做:
var exceptThese = new List<string> { nameof(SyncRequestTypeEnum.ProjectLevel) };
var result = Enum.GetNames<SyncRequestTypeEnum>().ToList().Except(exceptThese);