gpt4 book ai didi

c# - 在 C# 中通过索引关系获取枚举

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:22 24 4
gpt4 key购买 nike

我有以下枚举:

public enum UserRole {
Admin = 1,
Leader = 2,
Editor = 3,
Guest = 4
} // UserRole

以及以下列表:

IList<UserRole> roles = new List<UserRole> { UserRole.Leader, UserRole.Editor };

我想创建两个新列表:

1 - 选择角色中最低索引项的列表,例如,UserRole.Leader = 2 和所有高于该索引的 UserRoles。所以我会得到:

UserRole.Leader, UserRole.Editor, UserRole.Guest

2 - 选择角色中最高索引项的列表,例如,UserRole.Editor = 3 和所有低于该索引的 UserRoles。所以我会得到:

UserRole.Admin, UserRole.Leader, UserRole.Editor

我该怎么做?

谢谢你,米格尔

最佳答案

怎么样

public enum UserRole
{
Admin = 1,
Leader = 2,
Editor = 3,
Guest = 4
}

IList<UserRole> roles = new List<UserRole> { UserRole.Leader, UserRole.Editor };

var min = roles.Min();

var max = roles.Max();

var result1 = Enum.GetValues(typeof(UserRole)).Cast<UserRole>()
.Where(x => x >= min);

var result = Enum.GetValues(typeof(UserRole)).Cast<UserRole>()
.Where(x => x <= max);

关于c# - 在 C# 中通过索引关系获取枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com