gpt4 book ai didi

c# - 如何创建枚举数组

转载 作者:太空狗 更新时间:2023-10-29 17:35:25 26 4
gpt4 key购买 nike

我有大约 30 个不同的标记枚举,我想将它们放入一个数组中以进行索引和快速访问。我还要澄清一下,我没有 1 个具有 30 个值的枚举,但我有 30 个具有不同数量值的枚举。

目标是将它们添加到指定索引处的数组中。这样我就可以编写一个函数,我可以在其中传递数组索引以设置枚举的特定值。

更新:这是我想做的事情的一个例子。

枚举主要(枚举 1 = 0,枚举 2 = 1,enumn = n-1 ) - 这具有与关联枚举的索引相匹配的索引

[旗帜]enum1(value1=0, value2=1, value3=2, value4=4...)

[旗帜]枚举2("")

[旗帜]枚举2("")

因为我使用的是可标记枚举,所以我有一个如下所示的类

public static class CEnumWorker
{
public static enum1 myEnum1 = enum1.value1;
public static enum2 myEnum2 = enum2.value1;
public static enumN myEnumN = enumN.value1;

//I would then have functions that set the flags on the enums. I would like to access the enums through an array or other method so that I do not have to build a large switch statement to know which enum I am wanting to manipulate
}

最佳答案

由于您有 30 种不同类型的枚举,您无法为它们创建强类型数组。你能做的最好的事情就是一个 System.Enum 数组:

Enum[] enums = new Enum[] { enum1.Value1, enum2.Value2, etc };

如果您需要强类型枚举值,则在从数组中提取枚举时必须进行强制转换。

关于c# - 如何创建枚举数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3160267/

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