这里是枚举;
Linear Allocator
Stack Allocator
Pool Allocator
我需要一个列表,其中包含D以外的所有内容, 这样,它的作品;
public enum myEnum{
A= 1,
B= 2,
C= 3,
D= 4,
}
但是当然非常丑陋。如何直接转换和过滤此枚举的D
答案 0 :(得分:5)
Enum.GetValues(typeof(MyEnum)).Cast<MyEnum>().Where(x => x != MyEnum.D).ToList();
答案 1 :(得分:2)
您可以将枚举转换为列表like this:
var enumList = Enum.GetValues(typeof(myEnum)).Cast<myEnum>().ToList();
要删除myEnum.D
,只需调用Remove
方法:
var enumList = Enum.GetValues(typeof(myEnum)).Cast<myEnum>().ToList().Remove(myEnum.D);
如评论中所述,您也可以仅添加Enums值,而不是myEnum.D
:
var enumList = Enum.GetValues(typeof(myEnum)).Cast<myEnum>().ToList().Where(val => val != myEnum.D);
答案 2 :(得分:1)
您可以通过调用#your code
df = pd.DataFrame(data)
df['count'] = 1
groups = df.groupby(['src1', 'id1', 'src2', 'score']).agg(
{'id2': 'unique', 'count': 'sum'})
# Then do
groups = groups.sort_values(by=['src1', 'id1', 'src2', 'score'], ascending=False)
groups = groups.groupby(['src1', 'id1', 'src2',]).head(1)[groups['count']==1]
id2 count
src1 id1 src2 score
A 222 B 9 [222] 1
111 B 10 [111] 1
(https://docs.microsoft.com/en-us/dotnet/api/system.enum.getvalues?view=netframework-4.8)来获取枚举的所有值
获取所有值后,您可以排除某些不需要的值:
Enum.GetValues(type)
这将输出:
A 乙 C