我怎么能得到一组枚举除了一个使用Linq

本文关键字:Linq 一个 一组 怎么能 枚举 | 更新日期: 2023-09-27 18:08:50

我有一组枚举

public enum SyncRequestTypeEnum
{
 ProjectLevel=1,
 DiffSync=2,
 FullSync=3
}

我想在下拉列表中显示这些枚举,除了ProjectLevel。我可以用linq得到这些细节吗?有人能帮帮忙吗?

我怎么能得到一组枚举除了一个使用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);